- Jan 15, 2020
- Jan 14, 2020
- Jan 04, 2020
-
-
Fernando Sahmkow authored
-
- Dec 30, 2019
-
-
Fernando Sahmkow authored
This commit introduces a mechanism by which shader IR code can be amended and extended. This useful for track algorithms where certain information can derived from before the track such as indexes to array samplers.
-
- Dec 26, 2019
-
-
ReinUsesLisp authored
Rendering without a fragment shader is usually used in depth-only passes.
-
- Dec 23, 2019
-
-
ReinUsesLisp authored
Many of these topologies are exclusively available in OpenGL.
-
- Dec 21, 2019
-
-
ReinUsesLisp authored
Remove false commentary. Not dividing by 4 the size of shared memory is not a hack; it describes the number of integers, not bytes. While we are at it sort the generated code to put preprocessor lines on the top.
-
ReinUsesLisp authored
-
- Dec 18, 2019
-
-
ReinUsesLisp authored
RASTERIZE_ENABLE is the opposite of GL_RASTERIZER_DISCARD. Implement it naturally using this. NVN games expect rasterize to be enabled by default, reflect that in our initial GPU state.
-
ReinUsesLisp authored
-
- Dec 16, 2019
-
-
ReinUsesLisp authored
-
ReinUsesLisp authored
-
- Dec 11, 2019
-
-
Fernando Sahmkow authored
-
Fernando Sahmkow authored
-
Fernando Sahmkow authored
This commit ensures the OGL backend does not execute tesselation shader stages as they are currently unimplemented.
-
ReinUsesLisp authored
Previously we naively checked for "Intel" in GL_VENDOR, but this includes both Intel's proprietary driver and the mesa driver. Re-enable compute shaders for mesa.
-
ReinUsesLisp authored
Add missing new-line. This caused shaders using local memory and shared memory to inject a preprocessor GLSL line after an expression (resulting in invalid code). It looked like this: shared uint smem[8];#define LOCAL_MEMORY_SIZE 16 It should look like this (addressed by this commit): shared uint smem[8]; \#define LOCAL_MEMORY_SIZE 16
-
- Dec 10, 2019
-
-
Fernando Sahmkow authored
This commit finishes adding depth mode that was reverted before due to other unresolved issues.
-
ReinUsesLisp authored
Implement using memoryBarrier in GLSL and OpMemoryBarrier on SPIR-V.
-
ReinUsesLisp authored
-
- Nov 29, 2019
-
-
ReinUsesLisp authored
Pack color attachment enumerations into a single u32. To determine the number of buffers, the highest color attachment with a shared pointer that doesn't point to null is used.
-
ReinUsesLisp authored
-
- Nov 28, 2019
-
-
ReinUsesLisp authored
-
ReinUsesLisp authored
-
ReinUsesLisp authored
-
ReinUsesLisp authored
-
ReinUsesLisp authored
-
ReinUsesLisp authored
-
- Nov 27, 2019
-
-
Lioncash authored
With all of the interfaces ready for migration, it's trivial to migrate over GetPointer().
-
Lioncash authored
Amends a few interfaces to be able to handle the migration over to the new Memory class by passing the class by reference as a function parameter where necessary. Notably, within the filesystem services, this eliminates two ReadBlock() calls by using the helper functions of HLERequestContext to do that for us.
-
- Nov 26, 2019
-
-
ReinUsesLisp authored
Casts from f32 to f16 zeroes the higher half of the target register.
-
- Nov 25, 2019
-
-
ReinUsesLisp authored
The heuristic to detect AMD's driver was not working properly since it also included Intel. Instead of using heuristics to detect it, compare the GL_VENDOR string.
-
- Nov 24, 2019
-
-
ReinUsesLisp authored
glBlitFramebuffer keeps in mind GL_FRAMEBUFFER_SRGB's state. Enable this depending on the target surface pixel format.
-
- Nov 23, 2019
-
-
ReinUsesLisp authored
SSBOs and other resources are limited per pipeline on Intel and AMD. Heuristically reserve resources per stage having in mind the reported OpenGL limits.
-
ReinUsesLisp authored
glBindTextureUnit doesn't support null textures. Skip binding these.
-
ReinUsesLisp authored
Intel's proprietary driver enters in a corrupt state when compute shaders are executed. For now, disable these.
-
ReinUsesLisp authored
The current shared memory size seems to be smaller than what the game actually uses. This makes Nvidia's driver consistently blow up; in the case of FE3H it made it explode on Qt's SwapBuffers while SDL2 worked just fine. For now keep this hack since it's still progress over the previous hardcoded shared memory size.
-