diff options
| author | Henri Verbeet <hverbeet@gmail.com> | 2010-08-09 15:06:02 -0400 | 
|---|---|---|
| committer | Alex Deucher <alexdeucher@gmail.com> | 2010-08-09 15:06:02 -0400 | 
| commit | e165453f84517b08afc2e2bf684546e9e24f3f30 (patch) | |
| tree | 79bdf195c5a26a3f2138aa951c41fbd31aa5db29 /src | |
| parent | 08933b5a17f137fe93d48f05fcffcc9ac2627630 (diff) | |
radeon: Use MESA_FORMAT_SARGB8 for sRGB formats
This can be supported on r600 without using the endian swapper, and is a
better fit for (typical) uploads using GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV
anyway.
Diffstat (limited to 'src')
| -rw-r--r-- | src/mesa/drivers/dri/r300/r300_texstate.c | 4 | ||||
| -rw-r--r-- | src/mesa/drivers/dri/r600/r600_blit.c | 16 | ||||
| -rw-r--r-- | src/mesa/drivers/dri/r600/r600_tex.c | 2 | ||||
| -rw-r--r-- | src/mesa/drivers/dri/r600/r600_texstate.c | 10 | ||||
| -rw-r--r-- | src/mesa/drivers/dri/r600/r700_chip.c | 4 | ||||
| -rw-r--r-- | src/mesa/drivers/dri/radeon/radeon_texture.c | 2 | 
6 files changed, 19 insertions, 19 deletions
diff --git a/src/mesa/drivers/dri/r300/r300_texstate.c b/src/mesa/drivers/dri/r300/r300_texstate.c index 4ba6740e3d..9458869826 100644 --- a/src/mesa/drivers/dri/r300/r300_texstate.c +++ b/src/mesa/drivers/dri/r300/r300_texstate.c @@ -152,8 +152,8 @@ int32_t r300TranslateTexFormat(gl_format mesaFormat)  		case MESA_FORMAT_Z32:  			return R300_EASY_TX_FORMAT(X, X, X, X, X32);  		/* EXT_texture_sRGB */ -		case MESA_FORMAT_SRGBA8: -			return R300_EASY_TX_FORMAT(Y, Z, W, X, W8Z8Y8X8) | R300_TX_FORMAT_GAMMA; +		case MESA_FORMAT_SARGB8: +			return R300_EASY_TX_FORMAT(X, Y, Z, W, W8Z8Y8X8) | R300_TX_FORMAT_GAMMA;  		case MESA_FORMAT_SLA8:  			return R300_EASY_TX_FORMAT(X, X, X, Y, Y8X8) | R300_TX_FORMAT_GAMMA;  		case MESA_FORMAT_SL8: diff --git a/src/mesa/drivers/dri/r600/r600_blit.c b/src/mesa/drivers/dri/r600/r600_blit.c index d92d846dbc..27acff9c16 100644 --- a/src/mesa/drivers/dri/r600/r600_blit.c +++ b/src/mesa/drivers/dri/r600/r600_blit.c @@ -72,7 +72,7 @@ unsigned r600_check_blit(gl_format mesa_format)      case MESA_FORMAT_Z24_S8:      case MESA_FORMAT_Z16:      case MESA_FORMAT_Z32: -    case MESA_FORMAT_SRGBA8: +    case MESA_FORMAT_SARGB8:      case MESA_FORMAT_SLA8:      case MESA_FORMAT_SL8:  	    break; @@ -320,9 +320,9 @@ set_render_target(context_t *context, struct radeon_bo *bo, gl_format mesa_forma  	    CLEARbit(cb_color0_info, SOURCE_FORMAT_bit);  	    SETfield(cb_color0_info, NUMBER_UNORM, NUMBER_TYPE_shift, NUMBER_TYPE_mask);              break; -    case MESA_FORMAT_SRGBA8: +    case MESA_FORMAT_SARGB8:              format = COLOR_8_8_8_8; -            comp_swap = SWAP_STD_REV; +            comp_swap = SWAP_ALT;  	    SETbit(cb_color0_info, SOURCE_FORMAT_bit);  	    SETfield(cb_color0_info, NUMBER_SRGB, NUMBER_TYPE_shift, NUMBER_TYPE_mask);              break; @@ -1050,17 +1050,17 @@ set_tex_resource(context_t * context,  	    SETfield(sq_tex_resource4, SQ_SEL_X,  		     SQ_TEX_RESOURCE_WORD4_0__DST_SEL_W_shift, SQ_TEX_RESOURCE_WORD4_0__DST_SEL_W_mask);  	    break; -    case MESA_FORMAT_SRGBA8: +    case MESA_FORMAT_SARGB8:  	    SETfield(sq_tex_resource1, FMT_8_8_8_8,  		     SQ_TEX_RESOURCE_WORD1_0__DATA_FORMAT_shift, SQ_TEX_RESOURCE_WORD1_0__DATA_FORMAT_mask); -	    SETfield(sq_tex_resource4, SQ_SEL_W, -		     SQ_TEX_RESOURCE_WORD4_0__DST_SEL_X_shift, SQ_TEX_RESOURCE_WORD4_0__DST_SEL_X_mask);  	    SETfield(sq_tex_resource4, SQ_SEL_Z, -		     SQ_TEX_RESOURCE_WORD4_0__DST_SEL_Y_shift, SQ_TEX_RESOURCE_WORD4_0__DST_SEL_Y_mask); +		     SQ_TEX_RESOURCE_WORD4_0__DST_SEL_X_shift, SQ_TEX_RESOURCE_WORD4_0__DST_SEL_X_mask);  	    SETfield(sq_tex_resource4, SQ_SEL_Y, -		     SQ_TEX_RESOURCE_WORD4_0__DST_SEL_Z_shift, SQ_TEX_RESOURCE_WORD4_0__DST_SEL_Z_mask); +		     SQ_TEX_RESOURCE_WORD4_0__DST_SEL_Y_shift, SQ_TEX_RESOURCE_WORD4_0__DST_SEL_Y_mask);  	    SETfield(sq_tex_resource4, SQ_SEL_X, +		     SQ_TEX_RESOURCE_WORD4_0__DST_SEL_Z_shift, SQ_TEX_RESOURCE_WORD4_0__DST_SEL_Z_mask); +	    SETfield(sq_tex_resource4, SQ_SEL_W,  		     SQ_TEX_RESOURCE_WORD4_0__DST_SEL_W_shift, SQ_TEX_RESOURCE_WORD4_0__DST_SEL_W_mask);  	    SETbit(sq_tex_resource4, SQ_TEX_RESOURCE_WORD4_0__FORCE_DEGAMMA_bit);  	    break; diff --git a/src/mesa/drivers/dri/r600/r600_tex.c b/src/mesa/drivers/dri/r600/r600_tex.c index 41419f8460..512a52ede3 100644 --- a/src/mesa/drivers/dri/r600/r600_tex.c +++ b/src/mesa/drivers/dri/r600/r600_tex.c @@ -431,7 +431,7 @@ unsigned r600IsFormatRenderable(gl_format mesa_format)  	case MESA_FORMAT_Z24_S8:  	case MESA_FORMAT_Z16:  	case MESA_FORMAT_Z32: -	case MESA_FORMAT_SRGBA8: +	case MESA_FORMAT_SARGB8:  	case MESA_FORMAT_SLA8:  	case MESA_FORMAT_SL8:  		return 1; diff --git a/src/mesa/drivers/dri/r600/r600_texstate.c b/src/mesa/drivers/dri/r600/r600_texstate.c index 1600033b9b..ba3690b70e 100644 --- a/src/mesa/drivers/dri/r600/r600_texstate.c +++ b/src/mesa/drivers/dri/r600/r600_texstate.c @@ -605,17 +605,17 @@ static GLboolean r600GetTexFormat(struct gl_texture_object *tObj, gl_format mesa  		}  		break;  	/* EXT_texture_sRGB */ -	case MESA_FORMAT_SRGBA8: +	case MESA_FORMAT_SARGB8:  		SETfield(t->SQ_TEX_RESOURCE1, FMT_8_8_8_8,  			 SQ_TEX_RESOURCE_WORD1_0__DATA_FORMAT_shift, SQ_TEX_RESOURCE_WORD1_0__DATA_FORMAT_mask); -		SETfield(t->SQ_TEX_RESOURCE4, SQ_SEL_W, -			 SQ_TEX_RESOURCE_WORD4_0__DST_SEL_X_shift, SQ_TEX_RESOURCE_WORD4_0__DST_SEL_X_mask);  		SETfield(t->SQ_TEX_RESOURCE4, SQ_SEL_Z, -			 SQ_TEX_RESOURCE_WORD4_0__DST_SEL_Y_shift, SQ_TEX_RESOURCE_WORD4_0__DST_SEL_Y_mask); +			 SQ_TEX_RESOURCE_WORD4_0__DST_SEL_X_shift, SQ_TEX_RESOURCE_WORD4_0__DST_SEL_X_mask);  		SETfield(t->SQ_TEX_RESOURCE4, SQ_SEL_Y, -			 SQ_TEX_RESOURCE_WORD4_0__DST_SEL_Z_shift, SQ_TEX_RESOURCE_WORD4_0__DST_SEL_Z_mask); +			 SQ_TEX_RESOURCE_WORD4_0__DST_SEL_Y_shift, SQ_TEX_RESOURCE_WORD4_0__DST_SEL_Y_mask);  		SETfield(t->SQ_TEX_RESOURCE4, SQ_SEL_X, +			 SQ_TEX_RESOURCE_WORD4_0__DST_SEL_Z_shift, SQ_TEX_RESOURCE_WORD4_0__DST_SEL_Z_mask); +		SETfield(t->SQ_TEX_RESOURCE4, SQ_SEL_W,  			 SQ_TEX_RESOURCE_WORD4_0__DST_SEL_W_shift, SQ_TEX_RESOURCE_WORD4_0__DST_SEL_W_mask);  		SETbit(t->SQ_TEX_RESOURCE4, SQ_TEX_RESOURCE_WORD4_0__FORCE_DEGAMMA_bit);  		break; diff --git a/src/mesa/drivers/dri/r600/r700_chip.c b/src/mesa/drivers/dri/r600/r700_chip.c index 1e955b93b2..dc4998265a 100644 --- a/src/mesa/drivers/dri/r600/r700_chip.c +++ b/src/mesa/drivers/dri/r600/r700_chip.c @@ -523,9 +523,9 @@ static void r700SetRenderTarget(context_t *context, int id)  		     CB_COLOR0_INFO__ARRAY_MODE_shift, CB_COLOR0_INFO__ARRAY_MODE_mask);  	    CLEARbit(r700->render_target[id].CB_COLOR0_INFO.u32All, SOURCE_FORMAT_bit);              break; -    case MESA_FORMAT_SRGBA8: +    case MESA_FORMAT_SARGB8:              format = COLOR_8_8_8_8; -            comp_swap = SWAP_STD_REV; +            comp_swap = SWAP_ALT;  	    number_type = NUMBER_SRGB;  	    SETbit(r700->render_target[id].CB_COLOR0_INFO.u32All, SOURCE_FORMAT_bit);              break; diff --git a/src/mesa/drivers/dri/radeon/radeon_texture.c b/src/mesa/drivers/dri/radeon/radeon_texture.c index d2b190e42e..8c6a50d2f0 100644 --- a/src/mesa/drivers/dri/radeon/radeon_texture.c +++ b/src/mesa/drivers/dri/radeon/radeon_texture.c @@ -551,7 +551,7 @@ gl_format radeonChooseTextureFormat(GLcontext * ctx,  	case GL_SRGB8_ALPHA8:  	case GL_COMPRESSED_SRGB:  	case GL_COMPRESSED_SRGB_ALPHA: -		return MESA_FORMAT_SRGBA8; +		return MESA_FORMAT_SARGB8;  	case GL_SLUMINANCE:  	case GL_SLUMINANCE8:  | 
