libobs-d3d11: Improve NV12 validity check for AMD

On some AMD systems, the test for bad NV12 output would come up negative
(output was good), but when recording/streaming, it would have bad
output.  While the test worked correctly with NVIDIA systems, it did not
work in these cases.  This was because we did not correctly reproduce
the exact conditions of green output because the textures used for the
test were not also keyed mutex shared textures.  This fixes that issue
and ensures the test works correctly in those other niche cases.
master
jp9000 2019-03-11 13:34:22 -07:00
parent d1cd27410d
commit 4aed743a93
1 changed files with 4 additions and 2 deletions

View File

@ -270,8 +270,10 @@ try {
vec3_set(&points[3], 1.0f, 1.0f, 0.0f);
gs_texture_2d nv12_y(this, NV12_CX, NV12_CY, GS_R8, 1, nullptr,
GS_RENDER_TARGET, GS_TEXTURE_2D, false, true);
gs_texture_2d nv12_uv(this, nv12_y.texture, GS_RENDER_TARGET);
GS_RENDER_TARGET | GS_SHARED_KM_TEX, GS_TEXTURE_2D,
false, true);
gs_texture_2d nv12_uv(this, nv12_y.texture,
GS_RENDER_TARGET | GS_SHARED_KM_TEX);
gs_vertex_shader nv12_vs(this, "", NV12_VS);
gs_pixel_shader nv12_y_ps(this, "", NV12_Y_PS);
gs_pixel_shader nv12_uv_ps(this, "", NV12_UV_PS);