Commit Graph

928 Commits (c112986869517a02b1571e02f339c4ed4e074b29)

Author SHA1 Message Date
Liam a45baa0e78 shader_recompiler: support const buffer indirect addressing on OpenGL SPIR-V 4 years ago
Mai M 7382e7a5c8
Merge pull request #8095 from bylaws/master
shader_recompiler: Include <bit> header when std::count{r,l}_zero is used
4 years ago
ameerj 67159e3be7 dead_code_elimination_pass: Remove unreachable Phi arguments 4 years ago
Billy Laws dd862dff66 Include <bit> header when std::count{r,l}_zero is used
Needed for compilation with older libc++ releases
4 years ago
ameerj f10d40a0a2 shader_recompiler/dead_code_elimination: Add DeadBranchElimination pass
This adds a pass to eliminate if(false) branches within the shader code
4 years ago
Ameer J 75046a3351
Merge pull request #8038 from liamwhite/exit-register-detection
shader_recompiler/EXIT: increment output register on failed enable test
4 years ago
ameerj 866b7c20a8 general: Fix clang/gcc build errors 4 years ago
ameerj 574a2c4b77 shader_recompiler: Reduce unused includes 4 years ago
Liam 536d7ed7b1 Address review comments 4 years ago
Liam d400b618a7 shader_recompiler/EXIT: skip render targets with no outputs 4 years ago
Liam 6fa17f3372 shader_recompiler/EXIT: increment output register on failed enable test 4 years ago
Liam 3009d0bd7d Address review comments 4 years ago
Liam e228a40db8 shader_recompiler: Use functions for indirect const buffer accesses 4 years ago
Liam 3ac522ba41 Address review comments 4 years ago
Liam 1415542f73 shader_recompiler: Implement LDC.IS address mode 4 years ago
Liam 52895fab67 shader: add support for const buffer indirect addressing 4 years ago
Fernando S cd07a43724
Merge pull request #8008 from ameerj/rescale-offsets-array
rescaling_pass: Fix rescaling Color2DArray ImageFetch offsets
4 years ago
Fernando Sahmkow 185fc03c3c Shader decompiler: do constant propgation before texture pass. 4 years ago
Fernando Sahmkow ec9f0f064e Shader decompiler: Fix storage tracking in deko3d. 4 years ago
ameerj f87f8d4610 rescaling_pass: Fix rescaling Color2DArray ImageFetch offsets
ImageFetch offsets for 2D array coordinates have a different composite size than the coordinates. The rescaling pass was not taking this into account.

Fixes broken shaders when scaling is enabled in Astral Chain, and likely other titles.
4 years ago
ameerj e8c50e709e emit_spirv, vk_compute_pass: Resolve VS2022 compiler errors 4 years ago
Markus Wick c78c8190d5 shader_recompiler/LOP3: Use brute force python results within switch/case.
Thanks to @asLody for optimizing this function. This raised the focus that this function should be optimized more.

The current table assumes that the host GPU is able to invert for free, so only AND,OR,XOR are accumulated in the performance metrik.

Performance results:

Instructions
0: 8
1: 30
2: 114
3: 80
4: 24

Latency
0: 8
1: 30
2: 194
3: 24
4 years ago
ameerj e394e1ecc4 emit_glsl_atomic: Implement 32x2 fallback atomic ops 4 years ago
ameerj 90a0506d56 lower_int64_to_int32: Add 64-bit atomic fallbacks 4 years ago
ameerj ad58d7eae7 shaders: Add U64->U32x2 Atomic fallback functions 4 years ago
ameerj 4790ba7839 spirv_atomic: Define U32x2 storage buffers for 64-bit storage atomics
Some drivers do not support 64-bit atomics, and fallback to atomically modifying U32x2 vectors. This change ensures that U32x2 storage vectors are defined in the spir-v shader when 64-bit atomics are used.

Fixes a hang on some devices, notably Intel GPUs, when booting Pokemon Legends Arceus
4 years ago
Morph 8dea7fa129
Merge pull request #7786 from ameerj/vmnmx-sel
video_minimum_maximum: Implement src operand selectors
4 years ago
ameerj beaf7654bb emit_spirv: Add Xfb execution mode when transform feedback is used
Fixes Transform Feedback on Vulkan AMD drivers.
4 years ago
ameerj 74e6e3623f video_minimum_maximum: Implement src operand selectors
Used by Pokemon Legends: Arceus
4 years ago
Lioncash b46ec4efea shader_recompiler: Remove unnecessary [[nodiscard]]
Since ConvertLegacyToGeneric has a void return value, there's nothing
that is actually returned by the function.
4 years ago
v1993 a943600019
shader_recompiler: fix potential OOB access
Found by static analysis with PVS-Studio. Original check wasn't actually checking for OOB and would segfault in case of it.
4 years ago
liushuyu 09f4f3f23b
logging/log.h: move enum class formatter to a separate file ...
... to common/logging/formatter.h
4 years ago
liushuyu 42f653ab6f
logging: adapt to changes in fmt 8.1 4 years ago
Narr the Reg 524674aafc glsl: Remove unreachable return 4 years ago
Fernando Sahmkow f58ee3f15f ShaderDecompiler: Add a debug option to dump the game's shaders. 4 years ago
Fernando S ae7da0b12d
Merge pull request #7629 from ameerj/nv-driver-fixes
shaders: Add fixes for NVIDIA drivers 495+
4 years ago
ameerj 8c907c620d glsl: Add boolean reference workaround 4 years ago
ameerj b84d429c2e glsl_context_get_set: Add alternative cbuf type for broken drivers
some drivers have a bug bitwise converting floating point cbuf values to uint variables. This adds a workaround for these drivers to make all cbufs uint and convert to floating point as needed.
4 years ago
ameerj 9f34be5a61 emit_glsl_integer: Use negation work around 4 years ago
ameerj 14ac0c2923 shader: Add integer attribute get optimization pass
Works around an nvidia driver bug, where casting the integer attributes to float and back to an integer always returned 0.
4 years ago
bunnei 279c7bcc1a
Merge pull request #7618 from goldenx86/patch-4
Increase boost requirement to 1.78.0
4 years ago
Matías Locatti c7235e67ef
Empty spaces 4 years ago
Matías Locatti 840d5520d2
Changes to avoid warnings in SSE4.2 optimized SPIR-V 4 years ago
ameerj 37addf7a94 emit_glasm_context_get_set: Fix GetAttribute return value type.
GetAttribute expects an F32 result type at the IR level, this fixes the return value of attributes which were not returning an F32
4 years ago
ameerj 640fc1418b emit_glsl_floating_point: Fix FPNeg on newer Nvidia drivers 4 years ago
vonchenplus 4908a07c20 Address format clang 4 years ago
vonchenplus 6ebc972c2b Remove spirv handle legacy related code 4 years ago
vonchenplus 94652e122d Remove glsl handle legacy related code 4 years ago
Feng Chen e49184e606
Merge branch 'yuzu-emu:master' into convert_legacy 4 years ago
Mai M edbde7a220
Merge pull request #7522 from ameerj/shader-recompiler-filenames
shader_recompiler/backend: Minor organization and refactoring to reduce compile time overhead
4 years ago
ameerj 7105204a7e emit_spirv: Reduce emit_spirv.h include overhead
emit_spirv.h is included in video_core, which was propagating further includes that video_core did not depend on.
4 years ago
ameerj 1e1f7b3234 glasm: Move implemented instructions from not_implemented.cpp 4 years ago
ameerj f32b2bcd20 shader_recompiler: Adjust emit_context includes 4 years ago
ameerj 5286a7bc4c shader_recompiler: Rename backend emit_context files 4 years ago
ameerj 41aec2773f general: Add missing copyright notices 4 years ago
Feng Chen 4dd85f86a8 Implement convert legacy to generic 4 years ago
Fernando Sahmkow 6f98690963 ShaderCache: Better fix for Shuffling gl_FragCoord 4 years ago
FernandoS27 de1c8c5c2c Texture Cahe/Shader decompiler: Resize PointSize on rescaling, refactor and make reaper more agressive on 4Gb GPUs. 4 years ago
ameerj 618de4e787 vulkan: Fix rescaling push constant usage 4 years ago
ameerj 581ea90062 rescaling_pass: Fix IR errors when unscalable texture types are encountered 4 years ago
ameerj 99eec162da rescaling_pass: Logic simplification and minor style cleanup 4 years ago
ameerj 276565973f rescaling_pass: Scale ImageFetch offset if it exists
Plus some code deduplication
4 years ago
ameerj dd66384451 rescaling_pass: Enable PatchImageQueryDimensions on fragment stages 4 years ago
ameerj b027fac794 gl_texture_cache/rescaling_pass: minor cleanup 4 years ago
ameerj edb5844240 rescaling_pass: Fix and simplify shuffle/fragcoord pass 4 years ago
Fernando Sahmkow b3a9c8f108 Shader: Don't rescale FragCoord if used by Shuffle 4 years ago
ameerj 68e038404c shader, video_core: Fix GCC build errors 4 years ago
ameerj 65781f88f8 emit_spirv: Fix RescalingLayout alignment 4 years ago
Fernando Sahmkow dfa8291526 RescalingPass: Agregate pixels on texelFetch while on Fragment Shader 4 years ago
Fernando Sahmkow 8f78444de3 shader: Fix TextureSize check on rescaling. 4 years ago
ameerj dc28284437 emit_spirv: Fix RescalingLayout alignment 4 years ago
ReinUsesLisp e66d5b88a6 shader: Properly scale image reads and add GL SPIR-V support
Thanks for everything!
4 years ago
ReinUsesLisp fc9bb3c3fe shader: Properly blacklist and scale image loads 4 years ago
ReinUsesLisp cfeb161c7e glsl/glasm: Pass and use scaling parameters in shaders 4 years ago
ameerj f086c82e1f gl_graphics_pipeline: Add downscale factor to shader uniforms 4 years ago
ReinUsesLisp 656adee630 spirv: Implement rescaling patching 4 years ago
ReinUsesLisp 01379c5e3c shader/rescaling_pass: Patch more instructions 4 years ago
ReinUsesLisp c15332c44f shader: Add IsTextureScaled opcode 4 years ago
ReinUsesLisp c892359d1b shader: Add copy constructor to instructions 4 years ago
ReinUsesLisp 95761cc6a7 shader: Add integer division opcodes 4 years ago
ReinUsesLisp e580299467 shader: Fix rescaling pass 4 years ago
ReinUsesLisp 1672e9ba09 shader: Fix resolution scaling pass 4 years ago
ReinUsesLisp fb924ea85c shader: Add resolution down factor opcode 4 years ago
Fernando Sahmkow 360e897ccd ShaderDecompiler: Add initial support for rescaling. 4 years ago
bunnei 30442d8a89
Merge pull request #7260 from vonchenplus/spirv_support_legacy_attribute_v2
shader: Spirv support legacy attribute v2
4 years ago
Feng Chen f2a4204245 Simply legacy attribute implement 4 years ago
bunnei 7ce29ea74e
Merge pull request #7262 from FernandoS27/Buffalo-buffalo-Buffalo-buffalo-buffalo
ShaderCache: Order Phi Arguments from farthest away to nearest.
4 years ago
Fernando Sahmkow 2d4bbd83e6 Shader Cahe: Fix Phi Nodes on GLASM. 4 years ago
Fernando Sahmkow 194579bc4f ShaderCache: Fix Phi Nodes Type on OGL. 4 years ago
Fernando Sahmkow c50ad56bf5 ShaderCache: Order Phi Arguments from farthest away to nearest. 4 years ago
vonchenplus 49f9a44235 Support gl_FogFragCoord attribute 4 years ago
Fernando S 7aa0d97eed
Merge pull request #7201 from ameerj/spirv-depth-sampling
emit_spirv_image: Fix depth image implicit lod sample in non-fragment stages
4 years ago
vonchenplus 36c21ff6cb Support gl_BackSecondaryColor attribute 4 years ago
vonchenplus 92bebecf46 Support gl_FrontSecondaryColor attribute 4 years ago
vonchenplus b04c7b6343 Support gl_BackColor attribute 4 years ago
Fernando Sahmkow e5291e2031 TexturePass: Fix clamping of images as this allowed negative indices. 4 years ago
ameerj 06894b0711 emit_spirv_image: Fix depth image implicit lod sample in compute
Ensures all drivers behave the same way in this case.
4 years ago
Ameer J 3791c7ca82
Merge pull request #7077 from FernandoS27/face-down
A series of fixes to queries and indexed samplers.
4 years ago
Fernando Sahmkow 3f4444b552 Shader Compiler: avoid overflowed indices on indixed samplers. 4 years ago
Morph e29f3b87f1 style: Remove extra space preceding the :: operator 4 years ago
ameerj 73666fb262 general: Update style to clang-format-12 4 years ago
Fernando Sahmkow 8984abfc76 Spir-V: Rescale the frag depth to 0,1 mode when -1,1 mode is used in Vulkan. 4 years ago
Morph 9248442bb2
Merge pull request #6948 from ameerj/amd-warp-fix
shaders: Fix warp instructions on 64-thread warp devices
4 years ago
bunnei 7e9163779d
Merge pull request #6962 from vonchenplus/spirv_support_legacy_attribute
renderer_vulkan: Spirv support glsl  legacy attribute
4 years ago
Feng Chen b1e655f898 Detail adjustment 4 years ago
Feng Chen bbc1800c1b Detail adjustment 4 years ago
Feng Chen e5ca733722 Re-implement get unused location 4 years ago
Feng Chen 9cdf2383e9 Move attribute related definitions to spirv anonymous namespace 4 years ago
Feng Chen 1de9e4e121 Dynamic get unused location 4 years ago
Feng Chen d994466a08 Implement intput and output fixed fnc textures 4 years ago
Feng Chen a7bbaa4897 Rename parameters 4 years ago
Feng Chen cf26f375ff Fix create GraphicsPipelines crash 4 years ago
Feng Chen 1e2a89d306 Add input/output location 4 years ago
bunnei b2572a56d3
Merge pull request #6900 from ameerj/attr-reorder
structured_control_flow: Add DemoteCombinationPass
4 years ago
ameerj d956fb3c7c emit_glsl_warp: Fix shuffle ops for 64-thread warp sizes 4 years ago
ameerj 5b45dfe971 emit_glsl_warp: Fix ballot related ops for 64-thread warp sizes 4 years ago
ameerj a5d9dcf3d9 emit_spirv_warp: Fix shuffle ops for 64-thread warp sizes 4 years ago
ameerj 95213270ef emit_spirv_warp: Fix ballot related ops for 64-thread warp sizes 4 years ago
Feng Chen 73b11f390e Add colorfront and txtcoord support 4 years ago
ameerj 907dfbea71 structured_control_flow: Skip reordering nested demote branches.
Nested demote branches add complexity with combining the condition if it has not been initialized yet. Skip them for the time being.
4 years ago
ameerj 4fda7f1c82 structured_control_flow: Conditionally invoke demote reorder pass
This is only needed on select drivers when a fragment shader discards/demotes.
4 years ago
ameerj 862dc2b2b3 structured_control_flow: Add DemoteCombinationPass
Some drivers misread data when demotes are interleaved in the program. This moves demote branches to be checked at the end of the program.
Fixes "wireframe" issue in Pokemon SwSh on some drivers
4 years ago
ameerj 6e407c02d8 emit_spirv_context_get_set: Fix Get FrontFace return value
The IR expects GetAttribute to return an F32 value. This case was returning a U32 instead.
4 years ago
Valeri beb7305b73
SPIR-V: Merge two ifs in EmitGetAttribute 4 years ago
Morph db07ca6c7f
Merge pull request #6767 from ReinUsesLisp/fold-float-pack
shader: Fold UnpackFloat2x16 and PackFloat2x16
4 years ago
bunnei a98f14e9b0
Merge pull request #6722 from ReinUsesLisp/xmad-opts
shader: Fold integer FMA from Nvidia's pattern
4 years ago
ReinUsesLisp 8c9febe8f7 shader: Fold UnpackFloat2x16 and PackFloat2x16
Simplifies the code a bit when possible. These instructions should be
no-ops codegen wise.
4 years ago
ReinUsesLisp 1bb46b7d64 shader: Mark ConvertF16F32 and ConvertF32F16 as fp16 instructions
Fixes instances where fp16 types are not declared on SPIR-V but they are
used. This shouldn't happen on master, as it's been uncovered by an
additional optimization pass.
4 years ago
Lioncash c27ddb44de exception: Make constructors explicit
Ensures that exception construction is always explicit.
4 years ago
Lioncash e490ddf327 exception: Make what() member function nodiscard 4 years ago
Lioncash 90f3678ada exception: Narrow down specific header
We can use the <exception> header instead of pulling in all of the
exception-style classes.
4 years ago
Rodrigo Locatti c0f99558fb
Merge pull request #6724 from lioncash/nodisc-shader
shader_recompiler: Remove unnecessary [[nodiscard]] instances
4 years ago
Rodrigo Locatti de0b89792c
Merge pull request #6726 from lioncash/hguard
emit_spirv_instructions: Add missing header guard
4 years ago
Rodrigo Locatti 3d97f1e6cf
Merge pull request #6727 from lioncash/topology
emit_glasm: Fix LINESS_ADJACENCY typo in InputPrimitive()
4 years ago
Rodrigo Locatti b2b3fcdccd
Merge pull request #6723 from lioncash/shader
object_pool: Add missing return in Chunk move assignment operator
4 years ago
Lioncash 3e7813e49d emit_glasm: Fix LINESS_ADJACENCY typo in InputPrimitive()
This should be LINES_ADJACENCY
4 years ago
Lioncash c2915d9f2f emit_spirv_instructions: Add missing header guard 4 years ago
Lioncash 06ca911621 shader_recompiler: Remove unnecessary [[nodiscard]] instances
[[nodiscard]] doesn't do anything on functions with a void return type
and causes superfluous warnings.
4 years ago
Lioncash 0b67df1f7c control_flow: Fix duplicate switch case in OpcodeToken
This previously duplicated the case of the PBK case above it.
4 years ago
Lioncash 89ad9df0e9 object_pool: Add missing return in Chunk move assignment operator
Prevents undefined behavior from occurring.
4 years ago
ReinUsesLisp 66a0cedba3 shader: Fold integer FMA from Nvidia's pattern
Fold shaders doing "a * b + c" on integers from the pattern generated by
Nvidia's GL compiler.

On a somewhat complex compute shader it reduces the code size by 16
instructions from 2 matches on Turing GPUs.

On Intel as extracted from KHR_pipeline_executable_properties:
Before the optimization:
```
Instruction Count: 2057
Basic Block Count: 45
Scratch Memory Size: 14752
Spill Count: 232
Fill Count: 261
SEND Count: 610
Cycle Count: 11325
```

After the optimization:
```
Instruction Count: 2046
Basic Block Count: 44
Scratch Memory Size: 13728
Spill Count: 219
Fill Count: 268
SEND Count: 604
Cycle Count: 11367
```
4 years ago
ReinUsesLisp 09fb41dc63 shader: Use TryInstRecursive on XMAD multiply folding
Simplify a bit the logic.
4 years ago
ReinUsesLisp f6f0383b49 shader: Add TryInstRecursive utility to values 4 years ago
ReinUsesLisp 7f13104c17 shader: Support out of bound local memory reads and immediate writes
Support ignoring immediate out of bound writes. Writing dynamically out
of bounds is not yet supported (e.g. R0+0x4).

Reading out of bounds yields zero. This is supported checking for the
size from the IR; if the input is immediate, the optimization passes
will drop it.
4 years ago
ameerj 56478bc9ac shader: Fix disabled attribute default values 4 years ago
ameerj 56c30dd9e0 glsl: Simplify FCMP emission 4 years ago
ameerj 79d2684261 glsl: Update TessellationControl gl_in
Adheres to GL_ARB_separate_shader_objects requirements
4 years ago
ameerj fc7bed21b5 shader: Implement ISETP.X 4 years ago
ReinUsesLisp bf2956d77a shader: Avoid usage of C++20 ranges to build in clang 4 years ago
ameerj 94af0a00f6 glsl: Clamp shared mem size to GL_MAX_COMPUTE_SHARED_MEMORY_SIZE 4 years ago
lat9nq 49946cf780 shader_recompiler, video_core: Resolve clang errors
Silences the following warnings-turned-errors:
-Wsign-conversion
-Wunused-private-field
-Wbraced-scalar-init
-Wunused-variable

And some other errors
4 years ago
ReinUsesLisp 2235a51b5d shader: Manually convert from array<u32> to bitset instead of using bit_cast 4 years ago
ameerj 41c6cb70f9 glsl: Fix tracking of info.uses_shadow_lod 4 years ago
ameerj 11f04f1022 shader: Ignore global memory ops on devices lacking int64 support 4 years ago
ameerj 57f222c56e dual_vertex_pass: Clang format 4 years ago
ReinUsesLisp 8722668b3c emit_spirv: Workaround VK_KHR_shader_float_controls on fp16 Nvidia
Fix regression on Fire Emblem: Three Houses when using native fp16.
4 years ago
lat9nq 2e5af95541 shader: GCC fmt 8.0.0 fixes 4 years ago
ameerj b9069c7891 shader: Account for 33-bit IADD3 scenario 4 years ago
ReinUsesLisp b21bf79bd2 shader: Only apply shift on register mode for IADD3 4 years ago
ReinUsesLisp 5643a909bc shader: Fix disabled and unwritten attributes and varyings 4 years ago
ameerj 65daec8b75 glsl: Fix shared and local memory declarations
account for the fact that program.*memory_size is in units of bytes.
4 years ago
ameerj 8289eb108f opengl: Implement LOP.CC
Used by MH:Rise
4 years ago
ReinUsesLisp 5b2b0634a1 spirv: Fix code emission when descriptor aliasing is unsupported
Fixes OpenGL.
4 years ago
ameerj 00fa09dc45 glsl: Declare local memory in main 4 years ago
ameerj f7352411f0 glsl: Add passthrough geometry shader support 4 years ago
ReinUsesLisp 8612b5fec5 shader: Use std::bit_cast instead of Common::BitCast for passthrough 4 years ago
ReinUsesLisp 8a3427a4c8 glasm: Add passthrough geometry shader support 4 years ago
ReinUsesLisp 7dafa96ab5 shader: Rework varyings and implement passthrough geometry shaders
Put all varyings into a single std::bitset with helpers to access it.

Implement passthrough geometry shaders using host's.
4 years ago
ReinUsesLisp ecd6b4356b shader: Only verify shader when graphics debugging is enabled 4 years ago
ReinUsesLisp 395bed3a0a shader: Unify shader stage types 4 years ago
lat9nq 257d2aab74 lower_int64_to_int32: Add missing include 4 years ago
ReinUsesLisp fb166b5ff4 shader: Emulate 64-bit integers when not supported
Useful for mobile and Intel Xe devices.
4 years ago
ReinUsesLisp d8d5501459 shader: Add int64 to int32 lowering pass 4 years ago
ReinUsesLisp 04ef2160f9 shader: Teach global memory base tracker to follow vectors 4 years ago
ReinUsesLisp 97e80dda55 shader: Add constant propagation to integer vectors 4 years ago
ameerj 27ca8a0e13 glsl: Better IAdd Overflow CC fix
This ensures the original operand values are not overwritten when being used in the overflow detection.
4 years ago
ReinUsesLisp 4397053d5c shader: Remove IAbs64 4 years ago
ameerj bc6e399ae3 glsl: Fix IADD CC 4 years ago
ameerj a7536825df shader_recompiler: Fix IADD3 input partitioning 4 years ago
ReinUsesLisp 808ef97a08 shader: Move loop safety tests to code emission 4 years ago
ameerj cbce9ddd4a glsl: Remove frag color initialization 4 years ago
ameerj 3a2dd1b483 glasm: Implement SetAttribute ViewportMask 4 years ago
ameerj 1c648f176c emit_glsl_special: Skip initialization of frag_color0
Fixes rendering in Devil May Cry without regressing Ori and the Blind Forest.
4 years ago
ReinUsesLisp 1d182fc0f5 shader: Calibrate loop safety threshold 4 years ago
Morph cfbc85839d glsl: Add missing ; in EmitSetSampleMask
Fixes shader compilation in Okami HD
4 years ago
ameerj 9e066dcb15 glsl: Fix output varying initialization when transform feedback is used 4 years ago
ameerj a0365217f5 texture_pass: Fix is_read image qualification
Atomic operations are considered to have both read and write access. This was not  being accounted for.
4 years ago
ReinUsesLisp 0cd08b3e72 shader: Align constant buffer sizes to 16 bytes
WAR for AMD reading zeroes on uniform buffers of size 2.
4 years ago
ReinUsesLisp 59fead3a47 spirv: Properly handle devices without int8 and int16 4 years ago
ReinUsesLisp b5e78607ad spirv: Handle small storage buffer loads on devices with no support 4 years ago
ameerj ccbd24fe00 glsl: Fix cbuf component indexing bug falback 4 years ago
ReinUsesLisp 1091995f8e shader: Simplify MergeDualVertexPrograms 4 years ago
ReinUsesLisp 374eeda1a3 shader: Properly manage attributes not written from previous stages 4 years ago
ReinUsesLisp 892b8aa2ad glsl: Only declare fragment outputs on fragment shaders 4 years ago
ReinUsesLisp 0ffea97e2e shader: Split profile and runtime info headers 4 years ago
ReinUsesLisp cbbca26d18 shader: Add support for native 16-bit floats 4 years ago
ReinUsesLisp 376aa94819 shader: Rename maxwell/program.h to translate_program.h 4 years ago
ameerj 12ef06ba8b glsl: Obey need_declared_frag_colors to declare and initialize all frag_color
Fixes Ori and the blind forest title screen
4 years ago
ameerj d36f667bc0 glsl: Address rest of feedback 4 years ago
ameerj c5dfa0b630 glsl: Move gl_Position/generic attribute initialization to EmitProlgue 4 years ago