bunnei
fa405371ee
gpu: Rewrite virtual memory manager using PageTable.
2019-03-20 22:36:02 -04:00
bunnei
6f872bd580
gpu: Move GPUVAddr definition to common_types.
2019-03-20 22:36:02 -04:00
bunnei
65db8f5f47
gl_rasterizer: Skip zero addr/sized regions on flush/invalidate.
2019-03-16 22:03:19 -04:00
bunnei
c30ea8aa0d
Merge pull request #2244 from bunnei/gpu-mem-refactor
...
video_core: Refactor to use MemoryManager interface for all memory access.
2019-03-16 21:59:45 -04:00
bunnei
ee8ae39de5
memory: Simplify rasterizer cache operations.
2019-03-16 00:41:08 -04:00
bunnei
d3f26c1546
video_core: Refactor to use MemoryManager interface for all memory access.
...
# Conflicts:
# src/video_core/engines/kepler_memory.cpp
# src/video_core/engines/maxwell_3d.cpp
# src/video_core/morton.cpp
# src/video_core/morton.h
# src/video_core/renderer_opengl/gl_global_cache.cpp
# src/video_core/renderer_opengl/gl_global_cache.h
# src/video_core/renderer_opengl/gl_rasterizer_cache.cpp
2019-03-16 00:38:48 -04:00
bunnei
7fccfc3ee7
gpu: Use host address for caching instead of guest address.
2019-03-14 22:34:42 -04:00
bunnei
e400f8b65f
Merge pull request #2233 from ReinUsesLisp/morton-cleanup
...
video_core/morton: Miscellaneous changes
2019-03-14 21:23:12 -04:00
bunnei
7cf17f50d9
Merge pull request #2216 from ReinUsesLisp/rasterizer-system
...
gl_rasterizer: Use system instance passed from argument
2019-03-14 16:37:05 -04:00
bunnei
504f56e33a
Merge pull request #2227 from lioncash/override
...
renderer_opengl/gl_global_cache: Add missing override specifiers
2019-03-13 17:05:49 -04:00
ReinUsesLisp
7db0e52458
video_core/morton: Use enum to describe MortonCopyPixels128 mode
2019-03-13 16:35:21 -03:00
ReinUsesLisp
91423268d3
video_core/morton: Remove unused parameter in MortonSwizzle
2019-03-13 16:35:10 -03:00
bunnei
06886d0c41
Merge pull request #2215 from ReinUsesLisp/samplers
...
gl_rasterizer: Encapsulate sampler queries into methods
2019-03-12 13:10:53 -04:00
Lioncash
ca1cb6bef4
renderer_opengl/gl_global_cache: Replace indexing for assignment with insert_or_assign
...
The previous code had some minor issues with it, really not a big deal,
but amending it is basically 'free', so I figured, "why not?".
With the standard container maps, when:
map[key] = thing;
is done, this can cause potentially undesirable behavior in certain
scenarios. In particular, if there's no value associated with the key,
then the map constructs a default initialized instance of the value
type.
In this case, since it's a std::shared_ptr (as a type alias) that is
the value type, this will construct a std::shared_pointer, and then
assign over it (with objects that are quite large, or actively heap
allocate this can be extremely undesirable).
We also make the function take the region by value, as we can avoid a
copy (and by extension with std::shared_ptr, a copy causes an atomic
reference count increment), in certain scenarios when ownership isn't a
concern (i.e. when ReserveGlobalRegion is called with an rvalue
reference, then no copy at all occurs). So, it's more-or-less a "free"
gain without many downsides.
2019-03-11 12:20:35 -04:00
Lioncash
b7e2370601
renderer_opengl/gl_global_cache: Append missing override specifiers
...
Two of the functions here are overridden functions, so we can append
these specifiers to make it explicit.
2019-03-11 12:02:30 -04:00
ReinUsesLisp
8f48835a8e
gl_rasterizer: Use system instance passed from argument
2019-03-11 03:17:21 -03:00
bunnei
11ac277646
Merge pull request #2147 from ReinUsesLisp/texture-clean
...
shader_ir: Remove "extras" from the MetaTexture
2019-03-10 17:28:36 -04:00
bunnei
6a2ba422e0
Merge pull request #2143 from ReinUsesLisp/texview
...
gl_rasterizer_cache: Create texture views for array discrepancies
2019-03-10 17:27:49 -04:00
ReinUsesLisp
d949475417
gl_rasterizer: Encapsulate sampler queries into methods
2019-03-09 04:35:57 -03:00
ReinUsesLisp
75fa32b772
gl_rasterizer: Minor logger changes
2019-03-09 03:34:49 -03:00
bunnei
757fd21d98
Merge pull request #2055 from bunnei/gpu-thread
...
Asynchronous GPU command processing
2019-03-07 10:41:53 -05:00
bunnei
72cfb6383c
Merge pull request #2149 from ReinUsesLisp/decoders-style
...
gl_rasterizer_cache: Move format conversion functions to their own file
2019-03-06 21:56:20 -05:00
bunnei
fbcb9e6815
gpu: Always flush.
2019-03-06 21:48:57 -05:00
bunnei
d6be1f1a53
Merge pull request #2190 from lioncash/ogl-global
...
core: Remove the global telemetry accessor function
2019-03-06 21:41:53 -05:00
bunnei
48a356ee91
Merge pull request #2165 from ReinUsesLisp/unbind-tex
...
gl_rasterizer: Unbind textures but don't apply the gl_state
2019-03-04 13:51:59 -05:00
Lioncash
7c12a4035e
video_core/renderer_opengl: Replace direct usage of global system object accessors
...
We already pass a reference to the system object to the constructor of the renderer,
so we can just use that instead of using the global accessor functions.
2019-03-04 10:24:09 -05:00
bunnei
2695a15e47
fuck git for ruining my day, I will learn but I will not forgive
2019-03-02 00:01:34 -05:00
ReinUsesLisp
c97a3d0eb4
gl_rasterizer: Remove texture unbinding after dispatching a draw call
...
Unbinding was required when OpenGL delete operations didn't unbind a
resource if it was bound. This is no longer needed and can be removed.
2019-02-28 00:17:50 -03:00
ReinUsesLisp
6c8e8383af
gl_state: Fixup multibind bug
2019-02-28 00:17:03 -03:00
bunnei
de453ed3cb
Merge pull request #2121 from FernandoS27/texception2
...
Improve the Accuracy of the Rasterizer Cache through a Texception Pass
2019-02-27 21:17:55 -05:00
bunnei
16563cd442
Merge pull request #2172 from lioncash/reorder
...
gl_rasterizer/vk_memory_manager: Silence -Wreorder warnings
2019-02-27 21:14:20 -05:00
Fernando Sahmkow
6c290d747b
Devirtualize Register/Unregister and use a wrapper instead.
2019-02-27 21:58:50 -04:00
Fernando Sahmkow
5a6f9f7cd7
Corrections and redesign.
2019-02-27 21:58:49 -04:00
Fernando Sahmkow
e690d9e961
Fix linux compile error.
2019-02-27 21:58:48 -04:00
Fernando Sahmkow
b7678a6f39
Remove NotifyFrameBuffer as we are doing a texception pass every drawcall.
2019-02-27 21:58:47 -04:00
Fernando Sahmkow
27cad95c5b
Remove certain optimizations that caused texception to fail in certain scenarios.
2019-02-27 21:58:45 -04:00
Fernando Sahmkow
d9ca40fa90
Bug fixes and formatting
2019-02-27 21:58:44 -04:00
Fernando Sahmkow
3cb88587ea
rasterizer_cache_gl: Implement Texception Pass
2019-02-27 21:58:43 -04:00
Fernando Sahmkow
263c936e40
rasterizer_cache_gl: Implement Partial Reinterpretation of Surfaces.
2019-02-27 21:58:40 -04:00
Fernando Sahmkow
0c640275fa
rasterizer_cache: mark reinterpreted surfaces and add ability to reload marked surfaces on next use.
2019-02-27 21:58:39 -04:00
Fernando Sahmkow
785d97ac41
rasterizer_cache_gl: Notify on framebuffer change
2019-02-27 21:58:37 -04:00
bunnei
ea2d391072
Merge pull request #2163 from ReinUsesLisp/bitset-dirty
...
maxwell_3d: Use std::bitset to manage dirty flags
2019-02-27 20:50:08 -05:00
ReinUsesLisp
cd0f137b61
gl_rasterizer_cache: Create texture views for array discrepancies
...
When a texture is sampled in a shader with a different array mode than
the cached state, create a texture view and bind that to the shader
instead.
2019-02-27 14:41:06 -03:00
bunnei
01bf1afe79
Merge pull request #2167 from lioncash/namespace
...
common: Move Quaternion, Rectangle, Vec2, Vec3, and Vec4 into the Common namespace
2019-02-27 11:19:53 -05:00
Lioncash
4f0c52ce0b
gl_rasterizer: Reorder constructor initializer list in terms of member declaration order
...
Orders the members in the order they would actually be initialized in.
Silences a -Wreorder warning.
2019-02-27 11:08:19 -05:00
Lioncash
2218f0e4ef
gl_shader_disk_cache: Remove #pragma once from cpp file
...
This is only necessary in headers. Silences a warning with clang.
2019-02-27 11:02:49 -05:00
Lioncash
e59ae7210a
common/math_util: Move contents into the Common namespace
...
These types are within the common library, so they should be within the
Common namespace.
2019-02-27 03:38:39 -05:00
ReinUsesLisp
3989075e5f
gl_rasterizer_cache: Move format conversion to its own file
2019-02-26 20:08:27 -03:00
ReinUsesLisp
87634bbdee
renderer_opengl: Update pixel format tracking
2019-02-26 03:47:16 -03:00
ReinUsesLisp
20d8c304f2
maxwell_3d: Use std::bitset to manage dirty flags
2019-02-26 03:01:48 -03:00