diff options
author | Roland Scheidegger <[email protected]> | 2005-09-02 12:05:38 +0000 |
---|---|---|
committer | Roland Scheidegger <[email protected]> | 2005-09-02 12:05:38 +0000 |
commit | 3c450b2917ee2eef06197b9ef546f19d06b7d76a (patch) | |
tree | d3b9e88719fb41507322860580c55ac4d624031c /src/mesa/swrast/s_span.c | |
parent | a02febb8ccc8c716c28c3f6537d2836382f333c2 (diff) |
ATI_fragment_shader fixes: fix bug in passTexCoord (caused by recent changes). Fix sampling from wrong texture unit. Apply swizzling before texture sampling, and hopefully get non-projected coordinates from swrast. (still does not work at all with sw doom3, way too dark just the same as with the doom3 arb2 path)
Diffstat (limited to 'src/mesa/swrast/s_span.c')
-rw-r--r-- | src/mesa/swrast/s_span.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/mesa/swrast/s_span.c b/src/mesa/swrast/s_span.c index f99fa4cbaf7..d8c912640e3 100644 --- a/src/mesa/swrast/s_span.c +++ b/src/mesa/swrast/s_span.c @@ -432,7 +432,7 @@ interpolate_texcoords(GLcontext *ctx, struct sw_span *span) GLfloat r = span->tex[u][2]; GLfloat q = span->tex[u][3]; GLuint i; - if (ctx->FragmentProgram._Active) { + if (ctx->FragmentProgram._Active || ctx->ATIFragmentShader._Enabled) { /* do perspective correction but don't divide s, t, r by q */ const GLfloat dwdx = span->dwdx; GLfloat w = span->w; @@ -483,7 +483,7 @@ interpolate_texcoords(GLcontext *ctx, struct sw_span *span) GLfloat r = span->tex[u][2]; GLfloat q = span->tex[u][3]; GLuint i; - if (ctx->FragmentProgram._Active) { + if (ctx->FragmentProgram._Active || ctx->ATIFragmentShader._Enabled) { /* do perspective correction but don't divide s, t, r by q */ const GLfloat dwdx = span->dwdx; GLfloat w = span->w; @@ -566,7 +566,7 @@ interpolate_texcoords(GLcontext *ctx, struct sw_span *span) GLfloat r = span->tex[0][2]; GLfloat q = span->tex[0][3]; GLuint i; - if (ctx->FragmentProgram._Active) { + if (ctx->FragmentProgram._Active || ctx->ATIFragmentShader._Enabled) { /* do perspective correction but don't divide s, t, r by q */ const GLfloat dwdx = span->dwdx; GLfloat w = span->w; @@ -617,7 +617,7 @@ interpolate_texcoords(GLcontext *ctx, struct sw_span *span) GLfloat r = span->tex[0][2]; GLfloat q = span->tex[0][3]; GLuint i; - if (ctx->FragmentProgram._Active) { + if (ctx->FragmentProgram._Active || ctx->ATIFragmentShader._Enabled) { /* do perspective correction but don't divide s, t, r by q */ const GLfloat dwdx = span->dwdx; GLfloat w = span->w; |