Ameer J
db1d32485e
GLSL: Prefer known used cbuf sizes
2023-11-26 23:25:29 -05:00
Ameer J and GitHub
1d11fe00a3
Merge branch 'master' into ssbo-align
2023-11-26 21:08:53 -05:00
Ameer J
a595ed499d
gl_buffer_cache: Batch vertex/tfb buffer binding
2023-11-19 17:17:16 -05:00
Ameer J and GitHub
feb60de5c3
shader_recompiler: Fix spelling of "derivate" ( #12067 )
2023-11-18 13:39:47 +01:00
Ameer J
c67644f1da
gl_graphics_pipeline: GLASM: Fix transform feedback attribs buffer mode
...
GL_SEPARATE_ATTRIBS only applies when multiple buffers are being used, else GL_INTERLEAVED_ATTRIBS handles the cases for a single buffer with potentially more than one attribute
2023-11-18 00:44:05 -05:00
Ameer J
9343b81afd
shader_recompiler: add byteswap pattern workaround for Nvidia
2023-11-17 22:29:12 -05:00
Ameer J
75c5be55af
shader_recompiler: Align SSBO offsets in GlobalMemory functions
2023-10-31 20:14:18 -04:00
Ameer J
735612c9b3
buffer_cache: Apply storage buffer alignment only to the offset
2023-10-31 20:10:54 -04:00
Ameer J and Billy Laws
7d34800531
shader_recompiler: Align SSBO offsets to meet host requirements
...
Co-Authored-By: Billy Laws <blaws05@gmail.com >
2023-10-31 20:10:54 -04:00
Ameer J
9e4d606c4c
nvidia_flags: Enable GL Threaded optimizations
2023-10-28 21:26:22 -04:00
Ameer J
cfe73af6f2
emit_glsl_warp: Fix shfl_in_bounds conditional
2023-10-22 00:45:23 -04:00
Ameer J
d1c878fb41
gl_texture_cache: Enable async downloads
2023-08-13 23:17:59 -05:00
Ameer J
9b112107e2
gl_buffer_cache: Enable async downloads
2023-08-13 23:17:54 -05:00
Ameer J
48b87d64de
gl_staging_buffer_pool: Refactor allocation variables into a struct
2023-08-13 23:17:47 -05:00
Ameer J
f9ef721ca6
gl_graphics_pipeline: Fix GLASM storage buffer detection
2023-08-13 17:06:45 -04:00
Ameer J
c34ed4bbd8
gl_graphics_pipeline: GLASM: Fix transform feedback with multiple buffers
2023-08-13 16:50:01 -04:00
Ameer J
5c25712af9
flatten color_values
2023-08-09 18:45:52 -04:00
Ameer J
0f7220c9c8
flatten encoding_values
2023-08-09 18:38:37 -04:00
Ameer J
71857e889e
flatten result vector
2023-08-09 18:34:57 -04:00
Ameer J
70f8ffb787
GetUnquantizedWeightVector
2023-08-09 17:45:39 -04:00
Ameer J
9058486b9b
Revert "HACK: Avoid swizzling and reuploading ASTC image every frame"
...
This reverts commit b18c1fb1bb .
2023-08-06 14:55:05 -04:00
Ameer J
b18c1fb1bb
HACK: Avoid swizzling and reuploading ASTC image every frame
2023-08-06 14:54:58 -04:00
Ameer J
913803bf65
Compute Replicate
2023-08-06 14:54:58 -04:00
Ameer J
31a0cff036
minor
2023-08-06 14:54:58 -04:00
Ameer J
b36e645fee
undo uint
2023-08-06 14:54:58 -04:00
Ameer J
8ce158bce6
Revert "vulkan dims specialization"
...
This reverts commit e6243058f2269bd79ac8479d58e55feec2611e9d.
2023-08-06 14:54:58 -04:00
ameerj
5a78b35b1a
vulkan dims specialization
2023-08-06 14:54:58 -04:00
Ameer J
7a0d7e7668
small_block opt
2023-08-06 14:54:58 -04:00
Ameer J
fd2051b401
remove TexelWeightParams
2023-08-06 14:54:57 -04:00
Ameer J
75ac7845ce
error/void extent funcs
2023-08-06 14:54:57 -04:00
Ameer J
441b847107
more packing
2023-08-06 14:54:57 -04:00
Ameer J
f2cf81e0b6
Revert "uint result index"
...
This reverts commit 0e978786b5a8e7382005d8b1e16cfa12f3eeb775.
2023-08-06 14:54:57 -04:00
Ameer J
f41fb3ec0b
Revert "bfe instead of mod"
...
This reverts commit 86006a3b09e8a8c17d2ade61be76736a79e3f58a.
2023-08-06 14:54:57 -04:00
Ameer J
553dd3e120
Revert "global endpoints"
...
This reverts commit d8f5bfd1df2b7469ef6abcee182aa110602d1751.
2023-08-06 14:54:57 -04:00
Ameer J
c077e467c4
global endpoints
2023-08-06 14:54:57 -04:00
Ameer J
5c16559694
bfe instead of mod
2023-08-06 14:54:57 -04:00
Ameer J
6b0b584eba
uint result index
2023-08-06 14:54:57 -04:00
Ameer J
05ee37a1f0
amd opts
2023-08-06 14:54:57 -04:00
Ameer J
3494fce864
gl
2023-08-06 14:54:57 -04:00
Ameer J
5248fa926d
const, pack result_vector and replicate tables,
...
undo amd opts
2023-08-06 14:54:57 -04:00
Ameer J
998246efc2
minor redundancy cleanup
2023-08-06 14:54:57 -04:00
Ameer J
d17a51bc59
extractbits robustness
2023-08-06 14:54:57 -04:00
Ameer J
0078e5a338
reuse vectors memory
2023-08-06 14:54:57 -04:00
Ameer J
b8ca47e094
EncodingData pack
2023-08-06 14:54:57 -04:00
Ameer J
27c8bb9615
flattening
2023-08-06 14:54:57 -04:00
Ameer J
ac09cc3504
weights refactor
2023-08-06 14:54:57 -04:00
Ameer J
6ff65abd62
params.max_weight
2023-08-06 14:54:57 -04:00
Ameer J
e0c59c7b0b
skip bits
2023-08-06 14:54:57 -04:00
Ameer J
7ef879b296
restrict
2023-08-06 14:54:57 -04:00
Ameer J
cd80cbc420
vulkan_device: Fix subgroup_size_control detection on Vulkan 1.3
2023-08-02 20:45:03 -04:00
Ameer J
c7c44dc238
vulkan_device: Fix VK_EXT_subgroup_size_control detection
2023-08-02 19:25:14 -04:00
ameerj
4f160633d3
OpenGL: Limit lmem warmup to NVIDIA
...
🐸
2023-06-25 19:06:51 -04:00
ameerj
405eae3734
shaders: Track local memory usage
2023-06-25 18:59:33 -04:00
ameerj
b198339580
emit_glasm: Fix lmem size computation
2023-06-25 18:43:52 -04:00
ameerj
82107b33a2
OpenGL: Add Local Memory warmup shader
2023-06-25 18:43:23 -04:00
ameerj
1fc47361a1
texture_cache: Fix incorrect logic for AccelerateDMA
2023-06-02 18:07:52 -04:00
ameerj
ea2e155b0b
gl_texture_cache: Fix ASTC CPU decoding with compression disabled
...
gl_format was incorrectly being overwritten when compression was disabled
2023-05-28 13:14:51 -04:00
ameerj
cb0a410907
gl_staging_buffers: Optimization to reduce fence waiting
2023-05-28 00:38:47 -04:00
ameerj
642c14f0c7
OpenGL: Make use of persistent buffer maps in buffer cache downloads
...
Persistent buffer maps were already used by the texture cache, this extends their usage for the buffer cache.
In my testing, using the memory maps for uploads was slower than the existing "ImmediateUpload" path, so the memory map usage is limited to downloads for the time being.
2023-05-28 00:38:46 -04:00
ameerj
fee91096ca
microprofile: Avoid crashing due to OOB stack pos
2023-05-27 22:24:22 -04:00
ameerj
03137086db
OpenGL: Prefer glClientWaitSync for OGLSync objects
...
At least on Nvidia, glClientWaitSync with a timeout of 0 (non-blocking) is faster than glGetSynciv of GL_SYNC_STATUS.
2023-03-08 20:29:25 -05:00
ameerj
268942c8fe
gl_rasterizer: Implement AccelerateDMA DmaBufferImageCopy
2023-03-06 22:57:52 -05:00
ameerj
6b9cc0ed23
Refactor AccelerateDMA code
2023-03-06 22:57:45 -05:00
ameerj
2ce5bb9bd6
buffer_cache: Add logic for non-NVN storage buffer tracking
2023-02-25 16:24:21 -05:00
ameerj
b5bcd8c71b
configuration: Add async ASTC decode setting
2023-02-22 18:21:09 -05:00
ameerj
090bc588e5
texture_cache: Add async texture decoding
2023-02-22 00:26:07 -05:00
ameerj
93cf2b3ca8
texture_cache: OpenGL: Implement MSAA uploads and copies
2023-02-11 15:43:07 -05:00
ameerj
5e746da981
kernel: Refactor thread_local variable usage
...
On MSVC at least, there seems to be a non-trivial overhead to calling GetHostThreadId().
This slightly reworks the host_thread_id variable to reduce some of the complexity around its usage, along with some small refactors around current_thread and dummy thread
2023-02-10 20:43:06 -05:00
ameerj
eb9f16dce4
buffer_base: Partially revert changes from #9559
...
This fixes a regression where Yoshi's Crafted World (and potentially other titles) would enter an infinite loop when GPU Accuracy was set to "Normal"
2023-02-08 19:37:23 -05:00
ameerj
04139cb3ed
glsl_emit_context: Remove redeclarations of gl_SampleID and gl_SampleMask
...
These built-ins seem to be available without needing to be declared for fragment shaders, similar i.e. to gl_FragDepth
2023-02-08 19:34:39 -05:00
ameerj
4678f53463
shader_recompiler/value.h: Remove lingering references to S32
2023-02-04 00:13:47 -05:00
ameerj
979e4d9950
fsp_srv: Copy HLE Read Buffer for OutputAccessLogToSdCard
2023-02-03 00:12:16 -05:00
ameerj
2d2522693e
Revert "Merge pull request #9718 from yuzu-emu/revert-9508-hle-ipc-buffer-span"
...
This reverts commit 25fc5c0e11 , reversing
changes made to af20e25081 .
2023-02-03 00:08:45 -05:00
ameerj
720ff38097
gl_compute_pipeline: Force context flush when loading shader cache
2023-01-29 21:32:12 -05:00
ameerj
01eeda74a6
gl_graphics_pipeline: Force context flush when loading shader cache
2023-01-29 20:26:49 -05:00
ameerj
a63e17566a
spirv: Fix TXQ with MSAA textures
2023-01-29 13:47:30 -05:00
ameerj
a1d8306bfd
emit_glasm_image: Fix TXQ with MSAA textures
2023-01-29 13:42:34 -05:00
ameerj
08feba2b56
emit_glsl_image: Implement TXQ with MSAA textures
...
Also fixes for texture buffers, which do not have mips eithers.
2023-01-29 13:31:47 -05:00
ameerj
0d820f2dab
texture_pass: Fix texture descriptors comparisons
2023-01-28 21:23:52 -05:00
ameerj
9bb429999e
texture_pass: Refactor texture handle retrieval
2023-01-28 21:11:38 -05:00
ameerj
2c2e019a44
shader_recompiler: TXQ: Skip QueryLevels when possible
2023-01-28 16:25:18 -05:00
ameerj
c0cedbae94
emit_glsl_image: Fix ImageFetch for MSAA textures
2023-01-28 14:39:27 -05:00
ameerj
c2fb7b64ce
texture_cache: Adjust image view sizes by MSAA samples
2023-01-28 00:15:29 -05:00
ameerj
0f795603fc
glasm: Add MS sampler types
2023-01-27 02:09:18 -05:00
ameerj
5710e90150
glsl: Add MS sampler types
2023-01-27 02:09:17 -05:00
ameerj
93cc6e4d99
shader_recompiler: Remove S32 IR type
...
The frontend IR opcodes do not distinguish between signed and unsigned integer types.
Fixes broken shaders when IR validation/graphics debugging is enabled for shaders that used BitCastS32F32
2023-01-25 22:03:15 -05:00
ameerj
b0722591c9
hle_ipc: Use thread_local ReadBuffer
2022-12-28 18:46:54 -05:00
ameerj
a1490d77ac
hle_ipc: Rename ReadBufferSpan to ReadBuffer
2022-12-28 18:46:54 -05:00
ameerj
59c0f85407
hle_ipc: Rename ReadBuffer to ReadBufferCopy
...
Indicates explicitly that a copy is occurring
2022-12-28 18:46:54 -05:00
ameerj
7c1bf68bb4
bsd: Use std::span for read payloads
...
Allows the use of HLERequestContext::ReadBufferSpan
2022-12-28 18:46:54 -05:00
ameerj
f517f82416
nvdrv: Use std::span for inputs
...
Allows the use of HLERequestContext::ReadBufferSpan
2022-12-28 18:46:53 -05:00
ameerj
e7032d9e64
hidbus: Use ReadBufferSpan
2022-12-28 18:46:53 -05:00
ameerj
32d01a39b0
nvflinger: Split Parcel class into InputParcel and OutputParcel
...
The usages of the Parcel class were already unique to either Read or Write operations.
Avoids needing a vector of the input payload for the InputParcel use-case, instead it can remain as a span.
2022-12-25 17:19:10 -05:00
ameerj
7ffd624248
service: Use ReadBufferSpan where it is trivial to do so
2022-12-25 17:04:02 -05:00
ameerj
7584d36922
texture_cache: Use Common::ScratchBuffer for swizzle buffers
2022-12-25 15:47:41 -05:00
ameerj
1209d428f1
texture_cache: Use pre-allocated buffer for texture downloads
2022-12-25 15:38:36 -05:00
ameerj
c448b3af2f
texture_cache: Use pre-allocated buffer for texture uploads
2022-12-25 15:38:36 -05:00
ameerj
fbc375f0de
fsp_srv: Use ReadBufferSpan
2022-12-25 13:21:15 -05:00
ameerj
9349f06963
hle_ipc: Add ReadBufferSpan function
...
Returns a std::span to the buffer address, rather than create a copy of the memory into a std::vector
2022-12-25 13:20:59 -05:00
ameerj
c6590ad07b
scratch_buffer: Explicitly defing resize and resize_destructive functions
...
resize keeps previous data intact when the buffer grows
resize_destructive destroys the previous data when the buffer grows
2022-12-19 22:40:50 -05:00