Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Shader_IR: Store Bound buffer on Shader Usage | Fernando Sahmkow | 2020-01-24 | 1 | -4/+8 |
| | |||||
* | gl_shader_cache: Remove dynamic BaseBinding specialization | ReinUsesLisp | 2019-11-23 | 1 | -3/+2 |
| | |||||
* | video_core: Unify ProgramType and ShaderStage into ShaderType | ReinUsesLisp | 2019-11-23 | 1 | -23/+21 |
| | |||||
* | gl_rasterizer: Bind graphics images to draw commands | ReinUsesLisp | 2019-11-23 | 1 | -1/+1 |
| | | | | | Images were not being bound to draw invocations because these would require a cache invalidation. | ||||
* | gl_shader_cache: Specialize local memory size for compute shaders | ReinUsesLisp | 2019-11-23 | 1 | -2/+2 |
| | | | | | Local memory size in compute shaders was stubbed with an arbitary size. This commit specializes local memory size from guest GPU parameters. | ||||
* | gl_shader_cache: Specialize shared memory size | ReinUsesLisp | 2019-11-23 | 1 | -2/+2 |
| | | | | | Shared memory was being declared with an undefined size. Specialize from guest GPU parameters the compute shader's shared memory size. | ||||
* | gl_shader_cache: Specialize shader workgroup | ReinUsesLisp | 2019-11-23 | 1 | -2/+2 |
| | | | | | | Drop the usage of ARB_compute_variable_group_size and specialize compute shaders instead. This permits compute to run on AMD and Intel proprietary drivers. | ||||
* | shader/texture: Deduce texture buffers from locker | ReinUsesLisp | 2019-11-23 | 1 | -16/+17 |
| | | | | | Instead of specializing shaders to separate texture buffers from 1D textures, use the locker to deduce them while they are being decoded. | ||||
* | gl_shader_disk_cache: Store and load fast BRX | ReinUsesLisp | 2019-10-25 | 1 | -25/+158 |
| | |||||
* | gl_shader_decompiler: Move entries to a separate function | ReinUsesLisp | 2019-10-25 | 1 | -251/+29 |
| | |||||
* | gl_shader_disk_cache: Properly ignore existing cache | ReinUsesLisp | 2019-10-06 | 1 | -12/+16 |
| | | | | | Previously old entries where appended to the file even if the shader cache was ignored at boot. Address that issue. | ||||
* | gl_shader_decompiler: Use uint for images and fix SUATOM | ReinUsesLisp | 2019-09-21 | 1 | -8/+4 |
| | | | | | | In the process remove implementation of SUATOM.MIN and SUATOM.MAX as these require a distinction between U32 and S32. These have to be implemented with imageCompSwap loop. | ||||
* | shader/image: Implement SULD and remove irrelevant code | ReinUsesLisp | 2019-09-21 | 1 | -10/+0 |
| | | | | | * Implement SULD as float. * Remove conditional declaration of GL_ARB_shader_viewport_layer_array. | ||||
* | shader/image: Implement SUATOM and fix SUST | ReinUsesLisp | 2019-09-11 | 1 | -6/+14 |
| | |||||
* | gl_shader_decompiler: Keep track of written images and mark them as modified | ReinUsesLisp | 2019-09-06 | 1 | -5/+10 |
| | |||||
* | gl_rasterizer: Implement compute shaders | ReinUsesLisp | 2019-07-15 | 1 | -1/+1 |
| | |||||
* | gl_shader_decompiler: Implement gl_ViewportIndex and gl_Layer in vertex shaders | ReinUsesLisp | 2019-07-08 | 1 | -0/+10 |
| | | | | | | | | | | | | | This commit implements gl_ViewportIndex and gl_Layer in vertex and geometry shaders. In the case it's used in a vertex shader, it requires ARB_shader_viewport_layer_array. This extension is available on AMD and Nvidia devices (mesa and proprietary drivers), but not available on Intel on any platform. At the moment of writing this description I don't know if this is a hardware limitation or a driver limitation. In the case that ARB_shader_viewport_layer_array is not available, writes to these registers on a vertex shader are ignored, with the appropriate logging. | ||||
* | gl_shader_disk_cache: Address feedback | ReinUsesLisp | 2019-06-24 | 1 | -2/+5 |
| | |||||
* | shader_cache: Correct versioning and size calculation. | Fernando Sahmkow | 2019-06-21 | 1 | -1/+1 |
| | |||||
* | Fix rebase errors | Fernando Sahmkow | 2019-06-21 | 1 | -1/+1 |
| | |||||
* | gl_shader_decompiler: Implement image binding settings | ReinUsesLisp | 2019-06-21 | 1 | -9/+34 |
| | |||||
* | gl_rasterizer: Track texture buffer usage | ReinUsesLisp | 2019-06-21 | 1 | -2/+2 |
| | |||||
* | gl_shader_cache: Fix clang strict standard build issues | ReinUsesLisp | 2019-05-21 | 1 | -5/+3 |
| | |||||
* | gl_shader_disk_cache: in-class initialize virtual file offset of ShaderDiskCacheOpenGL | Lioncash | 2019-05-19 | 1 | -2/+1 |
| | | | | | | Given the offset is assigned a fixed value in the constructor, we can just assign it directly and get rid of the need to write the name of the variable again in the constructor initializer list. | ||||
* | gl_shader_disk_cache: Default ShaderDiskCacheOpenGL's destructor in the cpp file | Lioncash | 2019-05-19 | 1 | -0/+2 |
| | | | | | | Given the disk shader cache contains non-trivial types, we should default it in the cpp file in order to prevent inlining of the complex destruction logic. | ||||
* | gl_shader_disk_cache: Remove redundant code string construction in LoadDecompiledEntry() | Lioncash | 2019-05-19 | 1 | -2/+2 |
| | | | | | | | We don't need to load the code into a vector and then construct a string over the data. We can just create a string with the necessary size ahead of time, and read the data directly into it, getting rid of an unnecessary heap allocation. | ||||
* | gl_shader_disk_cache: Make variable non-const in decompiled entry case | Lioncash | 2019-05-19 | 1 | -1/+1 |
| | | | | | | std::move does nothing when applied to a const variable. Resources can't be moved if the object is immutable. With this change, we don't end up making several unnecessary heap allocations and copies. | ||||
* | gl_shader_disk_cache: Special-case boolean handling | Lioncash | 2019-05-19 | 1 | -23/+20 |
| | | | | | | | | | | | | | Booleans don't have a guaranteed size, but we still want to have them integrate into the disk cache system without needing to actually use a different type. We can do this by supplying non-template overloads for the bool type. Non-template overloads always have precedence during function resolution, so this is safe to provide. This gets rid of the need to smatter ternary conditionals, as well as the need to use u8 types to store the value in. | ||||
* | gl_shader_disk_cache: Skip stored shader variants instead of asserting | ReinUsesLisp | 2019-05-01 | 1 | -1/+4 |
| | | | | | | | Instead of asserting on already stored shader variants, silently skip them. This shouldn't be happening but when a shader is invalidated and it is not stored in the shader cache, this assert would hit and save that shader anyways when the asserts are disabled. | ||||
* | Re added new lines at the end of files | FreddyFunk | 2019-04-23 | 1 | -1/+1 |
| | |||||
* | gl_shader_disk_cache: Compress precompiled shader cache file with Zstandard | unknown | 2019-04-23 | 1 | -6/+10 |
| | |||||
* | gl_shader_disk_cache: Use VectorVfsFile for the virtual precompiled shader cache file | unknown | 2019-04-23 | 1 | -92/+112 |
| | |||||
* | gl_shader_disk_cache: Remove per shader compression | unknown | 2019-04-23 | 1 | -44/+11 |
| | |||||
* | Merge pull request #2348 from FernandoS27/guest-bindless | bunnei | 2019-04-18 | 1 | -5/+9 |
|\ | | | | | Implement Bindless Textures on Shader Decompiler and GL backend | ||||
| * | Move ConstBufferAccessor to Maxwell3d, correct mistakes and clang format. | Fernando Sahmkow | 2019-04-08 | 1 | -3/+4 |
| | | |||||
| * | Unify both sampler types. | Fernando Sahmkow | 2019-04-08 | 1 | -3/+6 |
| | | |||||
| * | Implement Bindless Samplers and TEX_B in the IR. | Fernando Sahmkow | 2019-04-08 | 1 | -1/+1 |
| | | |||||
* | | shader_ir: Implement STG, keep track of global memory usage and flush | ReinUsesLisp | 2019-04-14 | 1 | -3/+10 |
|/ | |||||
* | common/zstd_compression: simplify decompression interface | unknown | 2019-03-29 | 1 | -3/+2 |
| | |||||
* | gl_shader_disk_cache: Fixup clang format | unknown | 2019-03-29 | 1 | -2/+3 |
| | |||||
* | gl_shader_disk_cache: Use Zstandard for compression | unknown | 2019-03-29 | 1 | -6/+6 |
| | |||||
* | gl_shader_disk_cache: Use LZ4HC with compression level 9 instead of compression level 12 for less compression time | unknown | 2019-03-29 | 1 | -3/+3 |
| | |||||
* | Addressed feedback | unknown | 2019-03-29 | 1 | -6/+6 |
| | |||||
* | gl_shader_disk_cache: Use better compression for transferable and precompiled shader disk chache files | unknown | 2019-03-29 | 1 | -2/+2 |
| | |||||
* | data_compression: Move LZ4 compression from video_core/gl_shader_disk_cache to common/data_compression | unknown | 2019-03-29 | 1 | -38/+8 |
| | |||||
* | gl_shader_disk_cache: Remove #pragma once from cpp file | Lioncash | 2019-02-27 | 1 | -2/+0 |
| | | | | This is only necessary in headers. Silences a warning with clang. | ||||
* | gl_shader_disk_cache: Check LZ4 size limit | Frederic L | 2019-02-07 | 1 | -0/+4 |
| | | | Co-Authored-By: ReinUsesLisp <reinuseslisp@airmail.cc> | ||||
* | gl_shader_disk_cache: Consider compressed size zero as an error | Frederic L | 2019-02-07 | 1 | -2/+2 |
| | | | Co-Authored-By: ReinUsesLisp <reinuseslisp@airmail.cc> | ||||
* | gl_shader_disk_cache: Use unordered containers | ReinUsesLisp | 2019-02-07 | 1 | -6/+6 |
| | |||||
* | gl_shader_disk_cache: Pass core system as argument and guard against games without title ids | ReinUsesLisp | 2019-02-07 | 1 | -4/+10 |
| | |||||
* | gl_shader_disk_cache: Guard reads and writes against failure | ReinUsesLisp | 2019-02-07 | 1 | -210/+315 |
| | |||||
* | gl_shader_disk_cache: Address miscellaneous feedback | ReinUsesLisp | 2019-02-07 | 1 | -8/+18 |
| | |||||
* | gl_shader_disk_cache: Pass return values returning instead of by parameters | ReinUsesLisp | 2019-02-07 | 1 | -25/+22 |
| | |||||
* | gl_shader_disk_cache: Compress program binaries using LZ4 | ReinUsesLisp | 2019-02-07 | 1 | -7/+28 |
| | |||||
* | gl_shader_disk_cache: Compress GLSL code using LZ4 | ReinUsesLisp | 2019-02-07 | 1 | -5/+56 |
| | |||||
* | gl_shader_disk_cache: Save GLSL and entries into the precompiled file | ReinUsesLisp | 2019-02-07 | 1 | -21/+156 |
| | |||||
* | settings: Hide shader cache behind a setting | ReinUsesLisp | 2019-02-07 | 1 | -0/+21 |
| | |||||
* | gl_shader_disk_cache: Invalidate shader cache changes with CMake hash | ReinUsesLisp | 2019-02-07 | 1 | -7/+16 |
| | |||||
* | gl_shader_disk_cache: Add transferable cache invalidation | ReinUsesLisp | 2019-02-07 | 1 | -0/+5 |
| | |||||
* | gl_shader_disk_cache: Add precompiled load | ReinUsesLisp | 2019-02-07 | 1 | -0/+39 |
| | |||||
* | gl_shader_disk_cache: Add precompiled save | ReinUsesLisp | 2019-02-07 | 1 | -0/+43 |
| | |||||
* | gl_shader_disk_cache: Add transferable load | ReinUsesLisp | 2019-02-07 | 1 | -0/+52 |
| | |||||
* | gl_shader_disk_cache: Add transferable stores | ReinUsesLisp | 2019-02-07 | 1 | -0/+92 |
| | |||||
* | gl_shader_disk_cache: Add ShaderDiskCacheOpenGL class and helpers | ReinUsesLisp | 2019-02-07 | 1 | -0/+52 |
| | |||||
* | gl_shader_disk_cache: Add file and move BaseBindings declaration | ReinUsesLisp | 2019-02-07 | 1 | -0/+14 |