lat9nq
fc30b04714
settings,video_core: Consolidate ASTC decoding options
Just puts them all neatly into one place.
3 years ago
lat9nq
30e4e8c2f4
general: Silence -Wshadow{,-uncaptured-local} warnings
These occur in the latest commits in LLVM Clang.
3 years ago
Fernando Sahmkow
4f68a8f45a
Memory Tracking: Optimize tracking to only use atomic writes when contested with the host GPU
3 years ago
ameerj
5ae4d9983b
OpenGL: Limit lmem warmup to NVIDIA
🐸
3 years ago
ameerj
28cecc6cd8
shaders: Track local memory usage
3 years ago
ameerj
b2349d75f4
OpenGL: Add Local Memory warmup shader
3 years ago
Kelebek1
c7430e51e3
Remove memory allocations in some hot paths
3 years ago
Wollnashorn
815f54385a
video_core: Use sampler IDs instead pointers in the pipeline config
The previous approach of storing pointers returned by `GetGraphicsSampler`/`GetComputeSampler` caused UB, as these functions can cause reallocation of the sampler slot vector and therefore invalidate the pointers
3 years ago
Wollnashorn
eff77dae59
video_core: Fallback to default anisotropy instead to 1x anisotropy
3 years ago
Wollnashorn
1f7c69934d
video_core: Fixed compilation errors because of name shadowing
3 years ago
Wollnashorn
1844cad9d4
video_core: Add per-image anisotropy heuristics (format & mip count)
3 years ago
Liam
c913c891e0
video_core: preallocate fewer IR blocks
3 years ago
Morph
9da90de908
buffer_cache_base: Specify buffer type in HostBindings
Avoid reinterpret-casting from void pointer since the type is already known at compile time.
3 years ago
Liam
947a4f6141
shader_recompiler: translate f64 to f32 when unsupported on host
3 years ago
Liam
b646ac2908
shader_recompiler: remove barriers in conditional control flow when device lacks support
3 years ago
Kelebek1
ac23abacac
Combine vertex/transform feedback buffer binding into a single call
3 years ago
bunnei
56600190e4
core: frontend: Refactor GraphicsContext to its own module.
4 years ago
ameerj
514c224679
gl_texture_cache: Fix ASTC CPU decoding with compression disabled
gl_format was incorrectly being overwritten when compression was disabled
3 years ago
ameerj
41dfd9e4ec
gl_staging_buffers: Optimization to reduce fence waiting
3 years ago
ameerj
8d223e8092
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.
3 years ago
Kelebek1
62c747f8a1
Move buffer bindings to per-channel state
3 years ago
Liam
011dfe1db7
textures: add BC1 and BC3 compressors and recompression setting
3 years ago
Liam
147f6129f4
renderer_vulkan: barrier attachment feedback loops
3 years ago
Fernando Sahmkow
a1317c3a6e
Texture Cache: Fix ASTC textures
3 years ago
Fernando Sahmkow
5fa8c8685e
Texture cache: Only force flush the dma downloads
3 years ago
Fernando Sahmkow
6bc60f78d9
GPU: Add Reactive flushing
3 years ago
Kelebek1
d43a18a6ef
Log object names with debug renderer, add a GPU address to ImageViews
3 years ago
Fernando Sahmkow
94ecd260e3
GPU: implement missing ASTC
3 years ago
Fernando Sahmkow
f5d2ae4c5e
Texture Cache: Release stagging buffers on tick frame
3 years ago
Fernando Sahmkow
64c9a90c20
Buffer Cache: Fully rework the buffer cache.
4 years ago
Fernando Sahmkow
b22e1a2bce
Accelerate DMA: Use texture cache async downloads to perform the copies
to host.
WIP
3 years ago
Fernando Sahmkow
e2bfd9e8c4
TextureCache: refactor DMA downloads to allow multiple buffers.
4 years ago
Fernando Sahmkow
abe4e83b45
QueryCache: rework async downloads.
3 years ago
Fernando Sahmkow
ae99dcd531
Fence Manager: implement async fence management in a sepparate thread.
3 years ago
Wollnashorn
dda107ffa7
video_core: Enable ImageGather with subpixel offset on Intel
3 years ago
Wollnashorn
45fb154f0d
shader_recompiler: Add subpixel offset for correct rounding at `ImageGather`
On AMD a subpixel offset of 1/512 of the texel size is applied to the texture coordinates at a ImageGather call to ensure the rounding at the texel centers is done the same way as in Maxwell or other Nvidia architectures.
See https://www.reedbeta.com/blog/texture-gathers-and-coordinate-precision/ for more details why this might be necessary.
This should fix shadow artifacts at object edges in Zelda: Breath of the Wild (#9957 , #6956 ).
3 years ago
Liam
5be8a74b0c
general: fix spelling mistakes
4 years ago
FengChen
e067d314ba
video_core: Fix ogl status error when draw_texture
4 years ago
ameerj
625d716f56
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.
4 years ago
ameerj
bc5a8c664b
gl_rasterizer: Implement AccelerateDMA DmaBufferImageCopy
4 years ago
ameerj
e901a7f029
Refactor AccelerateDMA code
4 years ago
Fernando Sahmkow
82f37192ec
Engines: Implement Accelerate DMA Texture.
5 years ago
Kelebek1
2f525864a8
Check all swizzle components for red, not just [0], pass float border color rather than int
4 years ago
ameerj
c5386e2179
configuration: Add async ASTC decode setting
4 years ago
arades79
60a68839ee
remove static from pointer sized or smaller types for aesthetics, change constexpr static to static constexpr for consistency
Signed-off-by: arades79 <scravers@protonmail.com>
4 years ago
arades79
adcef452e0
add static lifetime to constexpr values to force compile time evaluation where possible
Signed-off-by: arades79 <scravers@protonmail.com>
4 years ago
ameerj
b60e0b5360
texture_cache: OpenGL: Implement MSAA uploads and copies
4 years ago
ameerj
8e0a70ddcf
gl_compute_pipeline: Force context flush when loading shader cache
4 years ago
ameerj
175244e92e
gl_graphics_pipeline: Force context flush when loading shader cache
4 years ago
Wollnashorn
6b840142b3
video_core/opengl: Add FSR upscaling filter to the OpenGL renderer
4 years ago