lat9nq
cb0b8442f0
gl_device: Filter more specifically for slow ASTC
Adds a check to find if the renderer is Intel DG (i.e. DG2).
gl_device: Detect Mesa to disable their ASTC
In our testing, our own ASTC decoder has shown itself to perform faster
than the included one from the driver. Disable theirs when Mesa is
detected.
Mesa detection depends on the vendor string. Some drivers never appear
outside of *nix contexts, so only check those in the *nix context.
gl_device: Internalize Intel DG detection
3 years ago
Kelebek1
dfb7fc8293
Fix shader dumps with nvdisasm
skip fragment shaders when rasterizer is disabled
initialize env_ptrs
3 years ago
lat9nq
8366736b67
settings,opengl,yuzu-qt: Fix AA, Filter maximums
The new enum macros don't support setting values directly.
For LastAA and LastFilter, this means we need a simpler approach to loop
around the toggle in the frontend...
3 years ago
lat9nq
d146dd9d12
settings,general: Rename non-confirming enums
3 years ago
lat9nq
5cffa34288
settings,video_core: Consolidate ASTC decoding options
Just puts them all neatly into one place.
3 years ago
lat9nq
71b3b2a2f0
general: Silence -Wshadow{,-uncaptured-local} warnings
These occur in the latest commits in LLVM Clang.
3 years ago
Fernando Sahmkow
da440da9f5
Memory Tracking: Optimize tracking to only use atomic writes when contested with the host GPU
3 years ago
ameerj
4f160633d3
OpenGL: Limit lmem warmup to NVIDIA
🐸
3 years ago
ameerj
405eae3734
shaders: Track local memory usage
3 years ago
ameerj
82107b33a2
OpenGL: Add Local Memory warmup shader
3 years ago
Kelebek1
5da70f7197
Remove memory allocations in some hot paths
3 years ago
Wollnashorn
2dc0ff79ec
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
a3b7b5b22a
video_core: Fallback to default anisotropy instead to 1x anisotropy
3 years ago
Wollnashorn
3e8cd91d54
video_core: Fixed compilation errors because of name shadowing
3 years ago
Wollnashorn
42c944b250
video_core: Add per-image anisotropy heuristics (format & mip count)
3 years ago
Liam
2c01669046
video_core: preallocate fewer IR blocks
3 years ago
Morph
925586f97b
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
2f1e87dd83
shader_recompiler: translate f64 to f32 when unsupported on host
3 years ago
Liam
2bb7ea436d
shader_recompiler: remove barriers in conditional control flow when device lacks support
3 years ago
Kelebek1
ace6c2318b
Combine vertex/transform feedback buffer binding into a single call
3 years ago
bunnei
ae099d583c
core: frontend: Refactor GraphicsContext to its own module.
3 years ago
ameerj
ea2e155b0b
gl_texture_cache: Fix ASTC CPU decoding with compression disabled
gl_format was incorrectly being overwritten when compression was disabled
3 years ago
ameerj
cb0a410907
gl_staging_buffers: Optimization to reduce fence waiting
3 years ago
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.
3 years ago
Kelebek1
b0bea13ed8
Move buffer bindings to per-channel state
3 years ago
Liam
415c78b87c
textures: add BC1 and BC3 compressors and recompression setting
3 years ago
Liam
8758932031
renderer_vulkan: barrier attachment feedback loops
3 years ago
Fernando Sahmkow
8a214e5530
Texture Cache: Fix ASTC textures
3 years ago
Fernando Sahmkow
8014dd8259
Texture cache: Only force flush the dma downloads
3 years ago
Fernando Sahmkow
c6cac2ffaa
GPU: Add Reactive flushing
3 years ago
Kelebek1
ca6bf06ef7
Log object names with debug renderer, add a GPU address to ImageViews
3 years ago
Fernando Sahmkow
87a9be8dec
GPU: implement missing ASTC
3 years ago
Fernando Sahmkow
4bc5469f52
Texture Cache: Release stagging buffers on tick frame
3 years ago
Fernando Sahmkow
a16c261131
Buffer Cache: Fully rework the buffer cache.
4 years ago
Fernando Sahmkow
e3a2ca96bd
Accelerate DMA: Use texture cache async downloads to perform the copies
to host.
WIP
3 years ago
Fernando Sahmkow
3fbee093b2
TextureCache: refactor DMA downloads to allow multiple buffers.
3 years ago
Fernando Sahmkow
e29ced29fa
QueryCache: rework async downloads.
3 years ago
Fernando Sahmkow
fca72beb2d
Fence Manager: implement async fence management in a sepparate thread.
3 years ago
Wollnashorn
fe91066f46
video_core: Enable ImageGather with subpixel offset on Intel
3 years ago
Wollnashorn
780240e697
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
600f325d87
general: fix spelling mistakes
3 years ago
FengChen
44f10c8dee
video_core: Fix ogl status error when draw_texture
3 years ago
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.
3 years ago
ameerj
268942c8fe
gl_rasterizer: Implement AccelerateDMA DmaBufferImageCopy
3 years ago
ameerj
6b9cc0ed23
Refactor AccelerateDMA code
3 years ago
Fernando Sahmkow
8a3411b417
Engines: Implement Accelerate DMA Texture.
4 years ago
Kelebek1
a7fb80e612
Check all swizzle components for red, not just [0], pass float border color rather than int
3 years ago
ameerj
b5bcd8c71b
configuration: Add async ASTC decode setting
3 years ago
arades79
683019878f
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
45e13b03f3
add static lifetime to constexpr values to force compile time evaluation where possible
Signed-off-by: arades79 <scravers@protonmail.com>
4 years ago