[PATCH 1/3] wined3d: Add some missing state updates for buffer textures.

Józef Kucia joseph.kucia at gmail.com
Sun Jan 29 06:11:35 CST 2017


On Sun, Jan 29, 2017 at 3:32 AM, Guillaume Charifi
<guillaume.charifi at sfr.fr> wrote:
>          if (gl_info->supported[EXT_TEXTURE_ARRAY])
>              gl_info->gl_ops.gl.p_glBindTexture(GL_TEXTURE_2D_ARRAY,
> device->dummy_textures.tex_2d_array);
> +        if (gl_info->supported[ARB_TEXTURE_BUFFER_OBJECT])
> +            gl_info->gl_ops.gl.p_glBindTexture(GL_TEXTURE_BUFFER,
> device->dummy_textures.tex_buffer);
>
>          if (gl_info->supported[ARB_TEXTURE_BUFFER_OBJECT])
>              gl_info->gl_ops.gl.p_glBindTexture(GL_TEXTURE_BUFFER,
> device->dummy_textures.tex_buffer);

Why do you duplicate these two lines of code?

> @@ -2184,6 +2186,11 @@ static void SetupForBlit(const struct wined3d_device
> *device, struct wined3d_con
>          }
>          gl_info->gl_ops.gl.p_glDisable(GL_TEXTURE_2D);
>          checkGLcall("glDisable GL_TEXTURE_2D");
> +        if (gl_info->supported[ARB_TEXTURE_BUFFER_OBJECT])
> +        {
> +            gl_info->gl_ops.gl.p_glDisable(GL_TEXTURE_BUFFER);
> +            checkGLcall("glDisable GL_TEXTURE_BUFFER");
> +        }

This doesn't make sense. Buffer textures are not supported in
fixed-function fragment processing. The GL_TEXTURE_BUFFER value is not
even accepted by glEnable() and glDisable().

> @@ -544,12 +544,6 @@ void wined3d_shader_resource_view_bind(struct
> wined3d_shader_resource_view *view
>          return;
>      }
>
> -    if (view->resource->type == WINED3D_RTYPE_BUFFER)
> -    {
> -        FIXME("Buffer shader resources not supported.\n");
> -        return;
> -    }
> -

This cannot be removed yet.



More information about the wine-patches mailing list