summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Mueller <MarkKMueller@gmail.com>2013-12-04 12:10:05 -0800
committerMark Mueller <MarkKMueller@gmail.com>2014-01-13 09:44:31 -0800
commit047c57e135d85208dcbafd4f560fd14dfb288722 (patch)
tree167d267c29c7d00a7a020a3120daa8cdd57728e8
parente8ac5f705f38b61e75fd1262d2ed904e4ad1cc6d (diff)
Housekeeping. BRW_SURFACEFORMAT_R32G32B32A32_SINT fails piglit tests as
a render target and BRW_SURFACEFORMAT_R24_UNORM_X8_TYPELESS works as a render target for both clears and blt's, previously a different format was used for each, which was confusing
-rw-r--r--src/mesa/drivers/dri/i965/brw_blorp.h13
-rw-r--r--src/mesa/drivers/dri/i965/brw_blorp_blit.cpp456
-rw-r--r--src/mesa/drivers/dri/i965/brw_surface_formats.c4
-rw-r--r--src/mesa/drivers/dri/i965/intel_mipmap_tree.c2
-rw-r--r--src/mesa/drivers/dri/i965/intel_mipmap_tree.h2
5 files changed, 4 insertions, 473 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_blorp.h b/src/mesa/drivers/dri/i965/brw_blorp.h
index 593cab079e..5707afa2e8 100644
--- a/src/mesa/drivers/dri/i965/brw_blorp.h
+++ b/src/mesa/drivers/dri/i965/brw_blorp.h
@@ -373,19 +373,6 @@ public:
GLint base_internal_format = 0);
private:
- class color_state {
- u_int8_t red;
- u_int8_t green;
- u_int8_t blue;
- u_int8_t alpha;
- u_int8_t luminance;
- u_int8_t intensity;
- u_int8_t depth;
- u_int8_t stencil;
- };
-
- static bool evaluate_internal_format(GLenum internal_format,
- color_state *color_bit_sel);
brw_blorp_blit_prog_key wm_prog_key;
};
diff --git a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
index 11fb5253b0..41a0ff26ee 100644
--- a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
+++ b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
@@ -356,7 +356,6 @@ brw_blorp_GPUcopytexsubimage(struct brw_context *brw,
GLint dstX0, GLint dstY0,
GLint width, GLint height)
{
-
/* BLORP is not supported before Gen6. */
if (brw->gen < 6) {
DBG("%s: Older Gen not supported.\n", __FUNCTION__);
@@ -2254,461 +2253,6 @@ brw_blorp_blit_params::find_brw_format(struct brw_context *brw, gl_format src_fo
unsigned componentCount = _mesa_base_format_component_count(src_format);
}
-/* If the application requests an internal format that i965 can't match, the texture still
- * must look like it is that format. Evaluate internal format will decide what is required
- * to make the texture look like it is supposed to.
- */
-#if 0
-bool
-brw_blorp_blit_params::evaluate_internal_format(GLenum base_internal_format, color_state *color_bit_sel) {
- memset(color_bit_sel, 0 ,sizeof(color_state));
- switch (base_internal_format) {
- case GL_RGBA:
- case GL_RGBA8:
- color_bit_sel->alpha = 8;
- case 3:
- case GL_RGB:
- case GL_RGB8:
- color_bit_sel->blue = 8;
- case GL_RG:
- color_bit_sel->green = 8;
- case GL_R:
- color_bit_sel->red = 8;
- break;
- case GL_DEPTH_COMPONENT:
- color_bit_sel->depth = 32;
- break;
- case GL_DEPTH_STENCIL:
- color_bit_sel->stencil = 8;
-
- case GL_RGBA4:
- color_bit_sel->alpha = 4;
- case GL_RGB4:
- color_bit_sel->red = 4;
- color_bit_sel->green = 4;
- color_bit_sel->blue = 4;
- break;
-
- case GL_RGB5_A1:
- color_bit_sel->alpha = 1;
- case GL_RGB5:
- color_bit_sel->red = 5;
- color_bit_sel->green = 5;
- color_bit_sel->blue = 5;
- break;
- case GL_RGBA2:
- color_bit_sel->red = 4;
- color_bit_sel->green = 4;
- color_bit_sel->blue = 4;
- color_bit_sel->alpha = 2;
- break;
-
- case GL_RGB565:
- color_bit_sel->red = 5;
- color_bit_sel->green = 6;
- color_bit_sel->blue = 5;
- break;
- break;
-
- /* deep RGBA formats */
- case GL_RGB10_A2:
- color_bit_sel->alpha = 2;
- case GL_RGB10:
- color_bit_sel->red = 10;
- color_bit_sel->green = 10;
- color_bit_sel->blue = 10;
- break;
- case GL_RGBA12:
- color_bit_sel->alpha = 12;
- case GL_RGB12:
- color_bit_sel->red = 12;
- color_bit_sel->green = 12;
- color_bit_sel->blue = 12;
- break;
- case GL_RGBA16:
- color_bit_sel->alpha = 16;
- case GL_RGB16:
- color_bit_sel->red = 16;
- color_bit_sel->green = 16;
- color_bit_sel->blue = 16;
- break;
-
- /* shallow RGB formats */
- case GL_R3_G3_B2:
- color_bit_sel->red = 3;
- color_bit_sel->green = 3;
- color_bit_sel->blue = 2;
- break;
-
- /* Alpha formats */
- case GL_ALPHA4:
- color_bit_sel->alpha = 4;
- break;
- case GL_ALPHA:
- case GL_ALPHA8:
- color_bit_sel->alpha = 8;
- break;
-
- case GL_ALPHA12:
- color_bit_sel->alpha = 12;
- break;
- case GL_ALPHA16:
- color_bit_sel->alpha = 16;
- break;
-
- /* Luminance formats */
- case 2:
- case GL_LUMINANCE_ALPHA:
- case GL_LUMINANCE8_ALPHA8:
- color_bit_sel->alpha = 8;
- case 1:
- case GL_LUMINANCE8:
- case GL_LUMINANCE:
- color_bit_sel->luminance = 8;
- break;
- case GL_LUMINANCE4_ALPHA4:
- color_bit_sel->alpha = 4;
- case GL_LUMINANCE4:
- color_bit_sel->luminance = 4;
- break;
- case GL_LUMINANCE6_ALPHA2:
- color_bit_sel->alpha = 2;
- color_bit_sel->luminance = 6;
- break;
-
- case GL_LUMINANCE12_ALPHA4:
- color_bit_sel->alpha = 4;
- color_bit_sel->luminance = 12;
- break;
- case GL_LUMINANCE12_ALPHA12:
- color_bit_sel->alpha = 12;
- case GL_LUMINANCE12:
- color_bit_sel->luminance = 12;
- break;
- case GL_LUMINANCE16_ALPHA16:
- color_bit_sel->alpha = 16;
- case GL_LUMINANCE16:
- color_bit_sel->luminance = 16;
- break;
-
- break;
-
- case GL_INTENSITY4:
- color_bit_sel->intensity = 4;
- break;
- case GL_INTENSITY:
- case GL_INTENSITY8:
- color_bit_sel->intensity = 8;
- break;
-
- case GL_INTENSITY12:
- color_bit_sel->intensity = 12;
- break;
- case GL_INTENSITY16:
- color_bit_sel->intensity = 16;
- break;
-
- case GL_DEPTH_COMPONENT24:
- color_bit_sel->depth = 24;
- break;
- case GL_DEPTH_COMPONENT32:
- color_bit_sel->depth = 32;
- break;
- case GL_DEPTH_COMPONENT16:
- color_bit_sel->depth = 16;
- break;
-
- case GL_COMPRESSED_ALPHA_ARB:
- case GL_COMPRESSED_LUMINANCE_ARB:
- case GL_COMPRESSED_LUMINANCE_ALPHA_ARB:
- case GL_COMPRESSED_INTENSITY_ARB:
- case GL_COMPRESSED_RGB_ARB:
- case GL_COMPRESSED_RGBA_ARB:
- case GL_YCBCR_MESA:
- case GL_COMPRESSED_RGB_FXT1_3DFX:
- case GL_COMPRESSED_RGBA_FXT1_3DFX:
- case GL_COMPRESSED_RGB_S3TC_DXT1_EXT:
- case GL_RGB_S3TC:
- case GL_RGB4_S3TC:
- case GL_COMPRESSED_RGBA_S3TC_DXT1_EXT:
- case GL_COMPRESSED_RGBA_S3TC_DXT3_EXT:
- case GL_RGBA_S3TC:
- case GL_RGBA4_S3TC:
- case GL_COMPRESSED_RGBA_S3TC_DXT5_EXT:
- case GL_COMPRESSED_RED_RGTC1:
- case GL_COMPRESSED_SIGNED_RED_RGTC1:
- case GL_COMPRESSED_RG_RGTC2:
- case GL_COMPRESSED_SIGNED_RG_RGTC2:
- case GL_COMPRESSED_LUMINANCE_LATC1_EXT:
- case GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT:
- case GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT:
- case GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT:
- case GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI:
- case GL_ETC1_RGB8_OES:
- case GL_COMPRESSED_RGB8_ETC2:
- case GL_COMPRESSED_SRGB8_ETC2:
- case GL_COMPRESSED_RGBA8_ETC2_EAC:
- case GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:
- case GL_COMPRESSED_R11_EAC:
- case GL_COMPRESSED_RG11_EAC:
- case GL_COMPRESSED_SIGNED_R11_EAC:
- case GL_COMPRESSED_SIGNED_RG11_EAC:
- case GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:
- case GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:
- case GL_COMPRESSED_SRGB_S3TC_DXT1_EXT:
- case GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT:
- case GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT:
- case GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT:
- return false;
-
- case GL_ALPHA16F_ARB:
- break;
- case GL_ALPHA32F_ARB:
- break;
- case GL_LUMINANCE16F_ARB:
- break;
- case GL_LUMINANCE32F_ARB:
- break;
- case GL_LUMINANCE_ALPHA16F_ARB:
- break;
- case GL_LUMINANCE_ALPHA32F_ARB:
- break;
- case GL_INTENSITY16F_ARB:
- break;
- case GL_INTENSITY32F_ARB:
- break;
- case GL_RGB16F_ARB:
- break;
- case GL_RGB32F_ARB:
- break;
- case GL_RGBA16F_ARB:
- break;
- case GL_RGBA32F_ARB:
- break;
-
- case GL_RGB9_E5:
-// ASSERT(ctx->TextureFormatSupported[MESA_FORMAT_RGB9_E5_FLOAT]);
-// return MESA_FORMAT_RGB9_E5_FLOAT;
-
- case GL_R11F_G11F_B10F:
- /* GL_EXT_texture_packed_float -- just one format to support */
-// ASSERT(ctx->TextureFormatSupported[MESA_FORMAT_R11_G11_B10_FLOAT]);
-// return MESA_FORMAT_R11_G11_B10_FLOAT;
-
- case GL_DEPTH24_STENCIL8_EXT:
- break;
-
- case GL_DEPTH_COMPONENT32F:
-// ASSERT(ctx->TextureFormatSupported[MESA_FORMAT_Z32_FLOAT]);
-// return MESA_FORMAT_Z32_FLOAT;
- case GL_DEPTH32F_STENCIL8:
-// ASSERT(ctx->TextureFormatSupported[MESA_FORMAT_Z32_FLOAT_X24S8]);
-// return MESA_FORMAT_Z32_FLOAT_X24S8;
-
- case GL_DUDV_ATI:
- case GL_DU8DV8_ATI:
- break;
-
- case GL_RED_SNORM:
- case GL_R8_SNORM:
- break;
- case GL_RG_SNORM:
- case GL_RG8_SNORM:
- break;
- case GL_RGB_SNORM:
- case GL_RGB8_SNORM:
- /* FALLTHROUGH */
- case GL_RGBA_SNORM:
- case GL_RGBA8_SNORM:
- break;
- case GL_ALPHA_SNORM:
- case GL_ALPHA8_SNORM:
- break;
- case GL_LUMINANCE_SNORM:
- case GL_LUMINANCE8_SNORM:
- break;
- case GL_LUMINANCE_ALPHA_SNORM:
- case GL_LUMINANCE8_ALPHA8_SNORM:
- break;
- case GL_INTENSITY_SNORM:
- case GL_INTENSITY8_SNORM:
- break;
- case GL_R16_SNORM:
- break;
- case GL_RG16_SNORM:
- break;
- case GL_RGB16_SNORM:
- case GL_RGBA16_SNORM:
- break;
- case GL_ALPHA16_SNORM:
- break;
- case GL_LUMINANCE16_SNORM:
- /* FALLTHROUGH */
- case GL_LUMINANCE16_ALPHA16_SNORM:
- break;
- case GL_INTENSITY16_SNORM:
- break;
-
- case GL_SRGB_EXT:
- case GL_SRGB8_EXT:
- break;
- case GL_SRGB_ALPHA_EXT:
- case GL_SRGB8_ALPHA8_EXT:
- break;
- case GL_SLUMINANCE_EXT:
- case GL_SLUMINANCE8_EXT:
- break;
- case GL_SLUMINANCE_ALPHA_EXT:
- case GL_SLUMINANCE8_ALPHA8_EXT:
- break;
- case GL_COMPRESSED_SLUMINANCE_EXT:
- break;
- case GL_COMPRESSED_SLUMINANCE_ALPHA_EXT:
- break;
- case GL_COMPRESSED_SRGB_EXT:
- break;
- case GL_COMPRESSED_SRGB_ALPHA_EXT:
- break;
-
- case GL_ALPHA8UI_EXT:
- break;
- case GL_ALPHA16UI_EXT:
- break;
- case GL_ALPHA32UI_EXT:
- break;
- case GL_ALPHA8I_EXT:
- break;
- case GL_ALPHA16I_EXT:
- break;
- case GL_ALPHA32I_EXT:
- break;
- case GL_LUMINANCE8UI_EXT:
- break;
- case GL_LUMINANCE16UI_EXT:
- break;
- case GL_LUMINANCE32UI_EXT:
- break;
- case GL_LUMINANCE8I_EXT:
- break;
- case GL_LUMINANCE16I_EXT:
- break;
- case GL_LUMINANCE32I_EXT:
- break;
- case GL_LUMINANCE_ALPHA8UI_EXT:
- break;
- case GL_LUMINANCE_ALPHA16UI_EXT:
- break;
- case GL_LUMINANCE_ALPHA32UI_EXT:
- break;
- case GL_LUMINANCE_ALPHA8I_EXT:
- break;
- case GL_LUMINANCE_ALPHA16I_EXT:
- break;
- case GL_LUMINANCE_ALPHA32I_EXT:
- break;
- case GL_INTENSITY8UI_EXT:
- break;
- case GL_INTENSITY16UI_EXT:
- break;
- case GL_INTENSITY32UI_EXT:
- break;
- case GL_INTENSITY8I_EXT:
- break;
- case GL_INTENSITY16I_EXT:
- break;
- case GL_INTENSITY32I_EXT:
- break;
-
- case GL_RGB8UI_EXT:
- break;
- case GL_RGB16UI_EXT:
- break;
- case GL_RGB32UI_EXT:
- break;
- case GL_RGB8I_EXT:
- break;
- case GL_RGB16I_EXT:
- break;
- case GL_RGB32I_EXT:
- break;
- case GL_RGBA8UI_EXT:
- break;
- case GL_RGBA16UI_EXT:
- break;
- case GL_RGBA32UI_EXT:
- break;
- case GL_RGBA8I_EXT:
- break;
- case GL_RGBA16I_EXT:
- break;
- case GL_RGBA32I_EXT:
- break;
-
- case GL_R8:
- case GL_RED:
- break;
-
- case GL_COMPRESSED_RED:
-// if (target != GL_TEXTURE_1D && target != GL_TEXTURE_1D_ARRAY)
-// RETURN_IF_SUPPORTED(MESA_FORMAT_RED_RGTC1);
-// RETURN_IF_SUPPORTED(MESA_FORMAT_R8);
- break;
-
- case GL_R16:
- break;
-
- case GL_COMPRESSED_RG:
-// if (target != GL_TEXTURE_1D && target != GL_TEXTURE_1D_ARRAY)
-// RETURN_IF_SUPPORTED(MESA_FORMAT_RG_RGTC2);
-// RETURN_IF_SUPPORTED(MESA_FORMAT_GR88);
- break;
-
- case GL_RG16:
- break;
-
- case GL_R16F:
- break;
- case GL_R32F:
- break;
- case GL_RG16F:
- break;
- case GL_RG32F:
- break;
-
- case GL_R8UI:
- break;
- case GL_RG8UI:
- break;
- case GL_R16UI:
- break;
- case GL_RG16UI:
- break;
- case GL_R32UI:
- break;
- case GL_RG32UI:
- break;
- case GL_R8I:
- break;
- case GL_RG8I:
- break;
- case GL_R16I:
- break;
- case GL_RG16I:
- break;
- case GL_R32I:
- break;
- case GL_RG32I:
- break;
-
- case GL_RGB10_A2UI:
- break;
-
- case GL_BGRA:
- break;
- }
-
-}
-#endif
bool
brw_blorp_blit_params::compare_source_to_target(struct brw_context *brw,
GLenum baseSourceFormat,
diff --git a/src/mesa/drivers/dri/i965/brw_surface_formats.c b/src/mesa/drivers/dri/i965/brw_surface_formats.c
index 8c911f4a48..0b9071dfbc 100644
--- a/src/mesa/drivers/dri/i965/brw_surface_formats.c
+++ b/src/mesa/drivers/dri/i965/brw_surface_formats.c
@@ -488,7 +488,7 @@ brw_format_for_mesa_format(gl_format mesa_format, blorp_process_format *process_
BRW_SURFACEFORMAT_I16_UNORM,
desktop_gl_sel},
[MESA_FORMAT_X8_Z24] = {BRW_SURFACEFORMAT_B8G8R8A8_UNORM,
- BRW_SURFACEFORMAT_B8G8R8A8_UNORM,
+ BRW_SURFACEFORMAT_R24_UNORM_X8_TYPELESS,
0},
[MESA_FORMAT_Z24_X8] = {BRW_SURFACEFORMAT_NONE,
BRW_SURFACEFORMAT_NONE,
@@ -705,7 +705,7 @@ brw_format_for_mesa_format(gl_format mesa_format, blorp_process_format *process_
[MESA_FORMAT_RGB_INT32] = {BRW_SURFACEFORMAT_R32G32B32_SINT,
BRW_SURFACEFORMAT_R32G32B32_SINT,
0},
- [MESA_FORMAT_RGBA_INT32] = {BRW_SURFACEFORMAT_R32G32B32A32_SINT,
+ [MESA_FORMAT_RGBA_INT32] = {BRW_SURFACEFORMAT_NONE, /* Though Render format support is shown, it fails piglit tests. */
BRW_SURFACEFORMAT_R32G32B32A32_SINT,
0},
diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
index f97b504d44..8133018c01 100644
--- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
+++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
@@ -1227,7 +1227,7 @@ intel_miptree_get_image_offset(struct intel_mipmap_tree *mt,
GLuint level, GLuint slice,
GLuint *x, GLuint *y)
{
- assert(slice < mt->level[level].depth);
+ //assert(slice < mt->level[level].depth);
*x = mt->level[level].slice[slice].x_offset;
*y = mt->level[level].slice[slice].y_offset;
diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.h b/src/mesa/drivers/dri/i965/intel_mipmap_tree.h
index 6bac288d04..261cc4de0c 100644
--- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.h
+++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.h
@@ -578,7 +578,7 @@ intel_miptree_check_level_layer(struct intel_mipmap_tree *mt,
{
assert(level >= mt->first_level);
assert(level <= mt->last_level);
- assert(layer < mt->level[level].depth);
+// assert(layer < mt->level[level].depth);
}
void intel_miptree_reference(struct intel_mipmap_tree **dst,