vlc | branch: master | Steve Lhomme <[email protected]> | Thu Jun 22 09:21:23 2017 +0200| [9c9c7db6237393c17f6137545a19ece9759d1d19] | committer: Jean-Baptiste Kempf
direct3d11: remove parameters that are always the same and optimize the texture creation flags Signed-off-by: Jean-Baptiste Kempf <[email protected]> > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=9c9c7db6237393c17f6137545a19ece9759d1d19 --- modules/video_output/win32/direct3d11.c | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/modules/video_output/win32/direct3d11.c b/modules/video_output/win32/direct3d11.c index d5a4db7106..9b6a879ef5 100644 --- a/modules/video_output/win32/direct3d11.c +++ b/modules/video_output/win32/direct3d11.c @@ -577,7 +577,7 @@ static void Close(vlc_object_t *object) static int AllocateTextures(vout_display_t *vd, const d3d_format_t *cfg, video_format_t *fmt, unsigned pool_size, ID3D11Texture2D *textures[], - bool pool_type_display, bool processor_input) + bool pool_type_display) { vout_display_sys_t *sys = vd->sys; int plane; @@ -588,16 +588,10 @@ static int AllocateTextures(vout_display_t *vd, const d3d_format_t *cfg, texDesc.MipLevels = 1; texDesc.SampleDesc.Count = 1; texDesc.MiscFlags = 0; //D3D11_RESOURCE_MISC_SHARED; - texDesc.Usage = D3D11_USAGE_DEFAULT; - texDesc.CPUAccessFlags = 0; texDesc.Format = cfg->formatTexture; - if (pool_type_display) - texDesc.BindFlags |= D3D11_BIND_SHADER_RESOURCE; - if (processor_input) - texDesc.BindFlags |= D3D11_BIND_RENDER_TARGET; - if (is_d3d11_opaque(fmt->i_chroma)) + texDesc.BindFlags = D3D11_BIND_SHADER_RESOURCE; + if (is_d3d11_opaque(fmt->i_chroma)) { texDesc.BindFlags |= D3D11_BIND_DECODER; - if (is_d3d11_opaque(fmt->i_chroma) || processor_input) { texDesc.Usage = D3D11_USAGE_DEFAULT; texDesc.CPUAccessFlags = 0; } else { @@ -683,7 +677,7 @@ static picture_pool_t *Pool(vout_display_t *vd, unsigned pool_size) } if (AllocateTextures(vd, sys->picQuadConfig, &surface_fmt, pool_size, textures, - true, false)) + true)) goto error; if (!vd->info.is_slow) { @@ -738,8 +732,7 @@ static picture_pool_t *Pool(vout_display_t *vd, unsigned pool_size) video_format_Copy(&staging_fmt, &surface_fmt); staging_fmt.i_width = staging_fmt.i_visible_width; staging_fmt.i_height = staging_fmt.i_visible_height; - if (AllocateTextures(vd, sys->picQuadConfig, &staging_fmt, 1, textures, true, - false)) + if (AllocateTextures(vd, sys->picQuadConfig, &staging_fmt, 1, textures, true)) goto error; sys->picQuad.i_x_offset = 0; @@ -2742,7 +2735,7 @@ static int Direct3D11MapSubpicture(vout_display_t *vd, int *subpicture_region_co if (unlikely(d3dquad==NULL)) { continue; } - if (AllocateTextures(vd, sys->d3dregion_format, &r->fmt, 1, textures, true, false)) { + if (AllocateTextures(vd, sys->d3dregion_format, &r->fmt, 1, textures, true)) { msg_Err(vd, "Failed to allocate %dx%d texture for OSD", r->fmt.i_visible_width, r->fmt.i_visible_height); for (int i=0; i<D3D11_MAX_SHADER_VIEW; i++) _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
