[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