(video/d3d11) Use cached view as the slang source texture

Fixes shaders in D3D11 driver.
This commit is contained in:
Connor McLaughlin 2020-10-01 00:05:56 +10:00
parent 12382c057a
commit 30c6f90c93

View File

@ -374,9 +374,10 @@ static bool d3d11_gfx_set_shader(void* data, enum rarch_shader_type type, const
{ {
#if defined(HAVE_SLANG) && defined(HAVE_SPIRV_CROSS) #if defined(HAVE_SLANG) && defined(HAVE_SPIRV_CROSS)
unsigned i; unsigned i;
config_file_t* conf = NULL; config_file_t* conf = NULL;
d3d11_texture_t* source = NULL; d3d11_texture_t* source = NULL;
d3d11_video_t* d3d11 = (d3d11_video_t*)data; D3D11ShaderResourceView* source_view_ptr = NULL;
d3d11_video_t* d3d11 = (d3d11_video_t*)data;
if (!d3d11) if (!d3d11)
return false; return false;
@ -402,7 +403,8 @@ static bool d3d11_gfx_set_shader(void* data, enum rarch_shader_type type, const
goto error; goto error;
source = &d3d11->frame.texture[0]; source = &d3d11->frame.texture[0];
for (i = 0; i < d3d11->shader_preset->passes; source = &d3d11->pass[i++].rt) source_view_ptr = &d3d11->frame.last_texture_view;
for (i = 0; i < d3d11->shader_preset->passes; source = &d3d11->pass[i++].rt, source_view_ptr = &source->view)
{ {
unsigned j; unsigned j;
/* clang-format off */ /* clang-format off */
@ -413,7 +415,7 @@ static bool d3d11_gfx_set_shader(void* data, enum rarch_shader_type type, const
&d3d11->frame.texture[0].size_data, 0}, &d3d11->frame.texture[0].size_data, 0},
/* Source */ /* Source */
{ &source->view, 0, { source_view_ptr, 0,
&source->size_data, 0}, &source->size_data, 0},
/* OriginalHistory */ /* OriginalHistory */