suyu/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
dma_pusher.h
gpu_asynch.cpp
gpu_asynch.h
gpu_synch.cpp
gpu_synch.h
gpu_thread.cpp
gpu_thread.h
gpu.cpp
gpu.h
guest_driver.cpp
guest_driver.h
macro_interpreter.cpp
macro_interpreter.h
memory_manager.cpp
memory_manager.h
morton.cpp
morton.h
query_cache.h
rasterizer_accelerated.cpp
rasterizer_accelerated.h
rasterizer_cache.cpp
rasterizer_cache.h
rasterizer_interface.h
renderer_base.cpp
renderer_base.h
sampler_cache.cpp
sampler_cache.h
surface.cpp
surface.h
video_core.cpp
video_core.h