[PATCH v2 3/9] wined3d: Implement handling of GL_TEXTURE_1D.
Józef Kucia
joseph.kucia at gmail.com
Thu Jan 4 05:19:04 CST 2018
On Wed, Jan 3, 2018 at 4:18 PM, Sven Hesse <shesse at codeweavers.com> wrote:
> @@ -5705,7 +5705,27 @@ void texture_activate_dimensions(const struct wined3d_texture *texture, const st
> {
> switch (texture->target)
> {
> + case GL_TEXTURE_1D:
> + gl_info->gl_ops.gl.p_glDisable(GL_TEXTURE_2D);
> + checkGLcall("glDisable(GL_TEXTURE_2D)");
> + gl_info->gl_ops.gl.p_glDisable(GL_TEXTURE_3D);
> + checkGLcall("glDisable(GL_TEXTURE_3D)");
> + if (gl_info->supported[ARB_TEXTURE_CUBE_MAP])
> + {
> + gl_info->gl_ops.gl.p_glDisable(GL_TEXTURE_CUBE_MAP_ARB);
> + checkGLcall("glDisable(GL_TEXTURE_CUBE_MAP_ARB)");
> + }
> + if (gl_info->supported[ARB_TEXTURE_RECTANGLE])
> + {
> + gl_info->gl_ops.gl.p_glDisable(GL_TEXTURE_RECTANGLE_ARB);
> + checkGLcall("glDisable(GL_TEXTURE_RECTANGLE_ARB)");
> + }
> + gl_info->gl_ops.gl.p_glEnable(GL_TEXTURE_1D);
> + checkGLcall("glEnable(GL_TEXTURE_1D)");
> + break;
> case GL_TEXTURE_2D:
> + gl_info->gl_ops.gl.p_glDisable(GL_TEXTURE_1D);
> + checkGLcall("glDisable(GL_TEXTURE_1D)");
> gl_info->gl_ops.gl.p_glDisable(GL_TEXTURE_3D);
> checkGLcall("glDisable(GL_TEXTURE_3D)");
> if (gl_info->supported[ARB_TEXTURE_CUBE_MAP])
> @@ -5722,6 +5742,8 @@ void texture_activate_dimensions(const struct wined3d_texture *texture, const st
> checkGLcall("glEnable(GL_TEXTURE_2D)");
> break;
> case GL_TEXTURE_RECTANGLE_ARB:
> + gl_info->gl_ops.gl.p_glDisable(GL_TEXTURE_1D);
> + checkGLcall("glDisable(GL_TEXTURE_1D)");
> gl_info->gl_ops.gl.p_glDisable(GL_TEXTURE_2D);
> checkGLcall("glDisable(GL_TEXTURE_2D)");
> gl_info->gl_ops.gl.p_glDisable(GL_TEXTURE_3D);
> @@ -5745,12 +5767,16 @@ void texture_activate_dimensions(const struct wined3d_texture *texture, const st
> gl_info->gl_ops.gl.p_glDisable(GL_TEXTURE_RECTANGLE_ARB);
> checkGLcall("glDisable(GL_TEXTURE_RECTANGLE_ARB)");
> }
> + gl_info->gl_ops.gl.p_glDisable(GL_TEXTURE_1D);
> + checkGLcall("glDisable(GL_TEXTURE_1D)");
> gl_info->gl_ops.gl.p_glDisable(GL_TEXTURE_2D);
> checkGLcall("glDisable(GL_TEXTURE_2D)");
> gl_info->gl_ops.gl.p_glEnable(GL_TEXTURE_3D);
> checkGLcall("glEnable(GL_TEXTURE_3D)");
> break;
> case GL_TEXTURE_CUBE_MAP_ARB:
> + gl_info->gl_ops.gl.p_glDisable(GL_TEXTURE_1D);
> + checkGLcall("glDisable(GL_TEXTURE_1D)");
> gl_info->gl_ops.gl.p_glDisable(GL_TEXTURE_2D);
> checkGLcall("glDisable(GL_TEXTURE_2D)");
> gl_info->gl_ops.gl.p_glDisable(GL_TEXTURE_3D);
> @@ -5767,6 +5793,8 @@ void texture_activate_dimensions(const struct wined3d_texture *texture, const st
> }
> else
> {
> + gl_info->gl_ops.gl.p_glDisable(GL_TEXTURE_1D);
> + checkGLcall("glDisable(GL_TEXTURE_1D)");
> gl_info->gl_ops.gl.p_glEnable(GL_TEXTURE_2D);
> checkGLcall("glEnable(GL_TEXTURE_2D)");
> gl_info->gl_ops.gl.p_glDisable(GL_TEXTURE_3D);
Textures need to be enabled only for fixed-function pipeline. We do
not want to use 1D textures with fixed-function pipeline.
More information about the wine-devel
mailing list