yuzu/src/video_core
ReinUsesLisp e22816a5bb texture_cache: Report incompatible textures as black
Some games bind incompatible texture types to certain types.
For example Astral Chain binds a 2D texture with 1 layer (non-array) to
a cubemap slot (that's how it's used in the shader). After testing this
in hardware, the expected "undefined behavior" is to report all pixels
as black.

We already have a path for reporting black textures in the texture
cache. When textures types are incompatible, this commit binds these
kind of textures. This is done on the API agnostic texture cache so no
extra code has to be inserted on OpenGL or Vulkan.

As a side effect, this fixes invalidations of ASTC textures on Astral
Chain. This happened because yuzu detected a cube texture and forced
6 faces, generating a texture larger than what the TIC reported.
2020-03-12 18:22:05 -03:00
..
buffer_cache
engines state_tracker: Remove type traits with named structures 2020-02-28 17:56:43 -03:00
renderer_opengl gl_shader_manager: Fix interaction between graphics and compute 2020-03-11 01:04:52 -03:00
renderer_vulkan Merge pull request #3301 from ReinUsesLisp/state-tracker 2020-03-09 18:34:37 -03:00
shader Merge pull request #3451 from ReinUsesLisp/indexed-textures 2020-03-05 11:42:46 -05:00
texture_cache texture_cache: Report incompatible textures as black 2020-03-12 18:22:05 -03:00
textures textures: Fix anisotropy hack 2020-03-08 15:59:38 -03:00
CMakeLists.txt dirty_flags: Deduplicate code between OpenGL and Vulkan 2020-02-28 17:56:43 -03:00
dirty_flags.cpp dirty_flags: Deduplicate code between OpenGL and Vulkan 2020-02-28 17:56:43 -03:00
dirty_flags.h video_core/dirty_flags: Address feedback 2020-02-28 17:56:43 -03:00
dma_pusher.cpp video_core: Reintroduce dirty flags infrastructure 2020-02-28 17:56:41 -03:00
dma_pusher.h
gpu_asynch.cpp
gpu_asynch.h
gpu_synch.cpp
gpu_synch.h
gpu_thread.cpp core: frontend: Refactor scope_acquire_window_context to scope_acquire_context. 2020-02-25 21:23:00 -05:00
gpu_thread.h gpu_thread: Use MPSCQueue for GPU commands. 2020-02-07 23:01:23 -05:00
gpu.cpp video_core/gpu: Remove unused functions 2020-02-25 16:53:47 -03:00
gpu.h Merge pull request #3461 from ReinUsesLisp/r32i-rt 2020-02-25 17:47:14 -05:00
guest_driver.cpp
guest_driver.h
macro_interpreter.cpp
macro_interpreter.h
memory_manager.cpp video_core: memory_manager: Flush/invalidate asynchronously on Unmap. 2020-02-19 20:03:52 -05:00
memory_manager.h Revert "video_core: memory_manager: Use GPU interface for cache functions." 2020-02-15 17:47:15 -05:00
morton.cpp texture: Implement R32I 2020-02-15 16:26:50 -03:00
morton.h
query_cache.h query_cache: Address feedback 2020-02-14 17:38:27 -03:00
rasterizer_accelerated.cpp
rasterizer_accelerated.h
rasterizer_cache.cpp
rasterizer_cache.h
rasterizer_interface.h video_core: Reintroduce dirty flags infrastructure 2020-02-28 17:56:41 -03:00
renderer_base.cpp
renderer_base.h renderer_opengl: Add texture mailbox support for presenter thread. 2020-02-25 21:22:59 -05:00
sampler_cache.cpp
sampler_cache.h
surface.cpp video_core/surface: Add R32_SINT render target format 2020-02-25 17:19:34 -03:00
surface.h texture: Implement R32I 2020-02-15 16:26:50 -03:00
video_core.cpp
video_core.h