- Jun 18, 2020
-
-
MerryMage authored
OpenGL macOS headers definitions clash heavily with each other
-
MerryMage authored
-
MerryMage authored
-
MerryMage authored
-
MerryMage authored
-
MerryMage authored
* boost::hash_value returns a size_t * boost::hash_combine takes a size_t& argument
-
MerryMage authored
macOS header files #define PAGE_SHIFT
-
- Jun 17, 2020
- Jun 16, 2020
-
-
Morph authored
Due to the limitation of GL_MAX_IMAGE_UNITS being low (8) on Intel's and Nvidia's proprietary drivers, we have to reserve an appropriate amount of image bindings for each of the stages. So far games have been observed to use 4 image bindings on the fragment stage (Kirby Star Allies) and 1 on the vertex stage (TWD series). No games thus far in my limited testing used more than 4 images concurrently and across all currently active programs. This fixes shader compilation errors on Kirby Star Allies on OpenGL (GLSL/GLASM)
-
- Jun 15, 2020
-
-
MerryMage authored
Not required, as PARAMETERS can just be incremented directly.
-
MerryMage authored
-
MerryMage authored
All registers are now callee-save registers. RBX and RBP selected for STATE and RESULT because these are most commonly accessed; this is to avoid the REX prefix. RBP not used for STATE because there are some SIB restrictions, RBX emits smaller code.
-
MerryMage authored
Unnecessary since this is just an offset from STATE.
-
MerryMage authored
This can be passed in as an argument instead.
-
MerryMage authored
Unnecessary variable.
-
MerryMage authored
This Reg64 codepath has the exact same behaviour as the Reg32 one.
-
MerryMage authored
-
MerryMage authored
-
MerryMage authored
-
MerryMage authored
Pushing GPRs twice.
-
ReinUsesLisp authored
Fix build time issues on gcc. Confirmed through asan that avoiding this initialization is safe.
-
- Jun 12, 2020
-
-
ReinUsesLisp authored
-
ReinUsesLisp authored
Emit code compatible with NV_gpu_program5. This should emit code compatible with Fermi, but it wasn't tested on that architecture. Pascal has some issues not present on Turing GPUs.
-
- Jun 10, 2020
-
-
ReinUsesLisp authored
-
David Marcec authored
Fixes animal crossing svcBreak on launch
-
David Marcec authored
GetTotalPhysicalMemoryAvailableWithoutSystemResource & GetTotalPhysicalMemoryUsedWithoutSystemResource seem to subtract the resource size from the usage.
-
- Jun 09, 2020
-
-
ReinUsesLisp authored
Instead of using as template argument a shared pointer, use the underlying type and manage shared pointers explicitly. This can make removing shared pointers from the cache more easy. While we are at it, make some misc style changes and general improvements (like insert_or_assign instead of operator[] + operator=).
-
- Jun 08, 2020
-
-
ReinUsesLisp authored
Vertex buffers bindings become invalid after the stream buffer is invalidated. We were originally doing this, but it got lost at some point. - Fixes Animal Crossing: New Horizons, but it affects everything.
-
ReinUsesLisp authored
We have to invalidate whatever cache is being used before uploading the data, hence it makes more sense to return this on Map instead of Unmap.
-
ReinUsesLisp authored
Handle blits to images as 2D, even when they have block depth. - Fixes rendering issues on Luigi's Mansion 3
-
ReinUsesLisp authored
-
ReinUsesLisp authored
-
ReinUsesLisp authored
This allows rendering to 3D textures with more than one slice. Applications are allowed to render to more than one slice of a texture using gl_Layer from a VTG shader. This also requires reworking how 3D texture collisions are handled, for now, this commit allows rendering to slices but not to miplevels. When a render target attempts to write to a mipmap, we fallback to the previous implementation (copying or flushing as needed). - Fixes color correction 3D textures on UE4 games (rainbow effects). - Allows Xenoblade games to render to 3D textures directly.
-
- Jun 07, 2020
-
-
ReinUsesLisp authored
The rasterizer cache is no longer used. Each cache has its own generic implementation optimized for the cached data.
-
ReinUsesLisp authored
Trivial port the generic shader cache to Vulkan.
-
ReinUsesLisp authored
Trivially port the generic shader cache to OpenGL.
-
ReinUsesLisp authored
Implement a generic shader cache for fast lookups and invalidations. Invalidations are cheap but expensive when a shader is invalidated. Use two mutexes instead of one to avoid locking invalidations for lookups and vice versa. When a shader has to be removed, lookups are locked as expected.
-
- Jun 06, 2020
-
-
Morph authored
-