summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* intel: Silence several "warning: unused parameter"Ian Romanick2011-09-091-13/+4
| | | | | | | | | | | | | | | | | | | | | The internalFormat, format, and type parameters were not used by either try_pbo_upload or try_pbo_zcopy, so remove them. The width parameter was also not used by try_pbo_zcopy (because it doesn't actually copy anything), so remove it too. Eric Anholt notes: The current structure of this code is so hateful I can't bring myself to say anything about whether changing the current code is good or bad. I have a dream that one call would try to make a surface (miptree/region) out of the PBO, then we'd see about whether it matches up nicely and zero-copy/blit using that. That would be reusable for texsubimage, which is currently awful in this respect. At some point we should revisit this code with pitchforks and torches.
* intel: Silence "warning: unused parameter ‘depth0’"Ian Romanick2011-09-093-7/+4
| | | | | | | | | | The depth0 parameter was not used in intel_miptree_create_for_region, so remove it. All of the places that call this function, pass 1 for that parameter, and the place where it looks like it should have been used (the call to intel_miptree_create_internal) also had 1 hard coded. Reviewed-by: Eric Anholt <[email protected]>
* intel: Silence "warning: unused parameter ‘target’"Ian Romanick2011-09-093-13/+5
| | | | | | | | | The GLenum target parameter was not used in intel_copy_texsubimage, so remove it. Also remove the GLenum internalFormat parameter. Each caller just copied this out of the intel_texture_image that is already passed to intel_copy_texsubimage. Reviewed-by: Eric Anholt <[email protected]>
* intel: Silence several "warning: unused parameter"Ian Romanick2011-09-096-53/+30
| | | | | | The intel_context and tiling parameters were not used by any if the i9[14]5_miptree_layout or the functions they call, and the tiling parameter was not used by brw_miptree_layout. Remove the unnecessary parameters.
* intel: Silence "warning: unused parameter ‘fb’"Ian Romanick2011-09-094-7/+7
| | | | | | The gl_framebuffer was not used in intel_draw_buffer, so remove it. Reviewed-by: Eric Anholt <[email protected]>
* intel: Silence "warning: unused parameter ‘intel’"Ian Romanick2011-09-093-11/+7
| | | | The intel_context was not used in any of these functions, so remove it.
* intel: Silence several "warning: unused parameter"Ian Romanick2011-09-091-22/+38
| | | | | | | | | Also clean-up some of the naming, etc. in intel_buffer_object_purgeable. 'intel' is usually used as the name of an intel_context pointer, and intel_obj is usually used as the name of an intel_*_obj pointer. These changes were suggested by Eric Anholt. Reviewed-by: Eric Anholt <[email protected]>
* intel: Silence many "intel_batchbuffer.h:97:39: warning: comparison between ↵Ian Romanick2011-09-091-2/+3
| | | | | | | | | | | | | | | | | | | | | signed and unsigned integer expressions" v2: Remove the assertion in intel_batchbuffer_space: assert((intel->batch.state_batch_offset - intel->batch.reserved_space) >= intel->batch.used*4); After reviewing all the places where this is called, I'm (fairly) comfortable that this assertion was redundant. Having the assertion adds ~20KiB to a driver build: text data bss dec hex filename 903173 26392 1552 931117 e352d i965_dri.so 924093 26392 1552 952037 e86e5 i965_dri.so Based on feedback from Eric Anholt. Reviewed-by: Eric Anholt <[email protected]>
* glsl: Silence "ast_to_hir.cpp:1984:25: warning: comparison of unsigned ↵Ian Romanick2011-09-091-1/+1
| | | | | | | | | | | expression >= 0 is always true" ast_type_qualifier::location should have been a signed integer from the beginning, and the giant comment in apply_type_qualifier_to_variable explains why. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=40207 Reviewed-by: Kenneth Graunke <[email protected]>
* glsl: Silence several "warning: unused parameter"Ian Romanick2011-09-098-0/+16
|
* nouveau: remove target parameter from nouveau_bufferobj_map_range()Brian Paul2011-09-091-1/+1
| | | | | This was missed back when the target parameter was removed from all the buffer-related driver hooks.
* st/mesa: init program MaxLocalParams, MaxEnvParams limitsBrian Paul2011-09-091-0/+6
| | | | Use the same limit for all parameter classes.
* d3d1x: fix a build errorChia-I Wu2011-09-091-3/+4
| | | | | Fix for the st/egl interface change since 08e1076fd2d3f6fb879dd2529e7d035d6a399da2.
* i965/vs: Allow copy propagation on GRFs.Eric Anholt2011-09-081-1/+6
| | | | | Further reduces instruction count by 4.0% in 40.7% of the vertex shaders.
* i965/vs: Clear tracked copy propagation values whose source gets overwritten.Eric Anholt2011-09-081-3/+12
| | | | | This only occurs for GRFs, and hasn't mattered until now because we only copy propagated non-GRFs.
* i965/vs: Add support for copy propagation of the UNIFORM and ATTR files.Eric Anholt2011-09-083-1/+72
| | | | Removes 2.0% of the instructions from 35.7% of vertex shaders in shader-db.
* i965/vs: Add constant propagation to a few opcodes.Eric Anholt2011-09-085-0/+281
| | | | | | | | | | | This differs from the FS in that we track constants in each destination channel, and we we have to look at all the swizzled source channels. Also, the instruction stream walk is done in an O(n) manner instead of O(n^2). Across shader-db, this reduces 8.0% of the instructions from 60.0% of the vertex shaders, leaving us now behind the old backend by 11.1% overall.
* i965/vs: Keep track of indices into a per-register array for virtual GRFs.Eric Anholt2011-09-082-0/+15
| | | | | | | | | | | | Tracking virtual GRFs has tension between using a packed array per virtual GRF (which is good for register allocation), and sparse arrays where there's an element per actual register (so the first and second column of a mat2 can be distinguished inside of an optimization pass). The FS mostly avoided the need for this second sparse array by doing virtual GRF splitting, but that meant that instances where virtual GRF splitting didn't work, instructions using those registers got much less optimized.
* i965/vs: Switch to the new VS backend by default.Eric Anholt2011-09-081-1/+1
| | | | | | | | | | | Now instead of env INTEL_NEW_VS=1 to get it, you need INTEL_OLD_VS=1 to not get it. While it's not quite to the same codegen efficiency as the old backend, it is not regressing piglit on G965 and G45, and actually fixing bugs on gen6, and the remaining codegen quality regressions all appear tractable. Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* i965/vs: Add support for overflowing the number of available push constants.Eric Anholt2011-09-083-0/+87
| | | | | | | | Fixes glsl-vs-uniform-array-4. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=33742 Reviewed-by: Ian Romanick <[email protected]> Acked-by: Kenneth Graunke <[email protected]>
* i965/vs: Pack uniform registers before optimizationEric Anholt2011-09-081-1/+1
| | | | | | | | | We don't expect uniform accesses to generally go away from being dead code at this point, and we will want to have uniforms packed before spilling them out to pull constants when we are forced to do that. Reviewed-by: Ian Romanick <[email protected]> Acked-by: Kenneth Graunke <[email protected]>
* i965/vs: When failing due to lack of spilling, don't continue on.Eric Anholt2011-09-081-0/+1
| | | | | | | | Fixes assertion failure from double-free in oglc glsl-arrayobject constructor.declaration.structure Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* i965/vs: Fix variable indexed array access with more than one array.Eric Anholt2011-09-081-1/+1
| | | | | | | | | The offset to the arrays after the first was mis-scaled, so we'd go access off the end of the surface and read 0s. Fixes glsl-vs-uniform-array-3. Reviewed-by: Ian Romanick <[email protected]> Acked-by: Kenneth Graunke <[email protected]>
* i965/vs: Add annotation to more of the URB write.Eric Anholt2011-09-082-1/+5
| | | | | | | | While we had nice debug output for most of the instruction stream, it was terminated by a series of anonymous MOVs and a send. Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* egl_dri2: add support for RGBA_8888 android native bufferChia-I Wu2011-09-091-0/+2
| | | | HAL_PIXEL_FORMAT_RGBA_8888 maps to __DRI_IMAGE_FORMAT_ABGR8888.
* st/dri: add support for __DRI_IMAGE_FORMAT_ABGR8888Chia-I Wu2011-09-091-0/+6
| | | | It maps to PIPE_FORMAT_R8G8B8A8_UNORM.
* intel: add support for __DRI_IMAGE_FORMAT_ABGR8888Chia-I Wu2011-09-094-0/+27
| | | | | | | | | | | It maps to MESA_FORMAT_RGBA8888_REV. Surfaces of the format can only be sampled from but not render to. Only i915 is tested. Reviewed-by: Eric Anholt <[email protected]> [olv: add a check in intel_image_target_renderbuffer_storage]
* dri2: add __DRI_IMAGE_FORMAT_ABGR8888 to __DRI_IMAGEChia-I Wu2011-09-091-0/+1
| | | | | | | Add a new format token, __DRI_IMAGE_FORMAT_ABGR8888, to __DRI_IMAGE. It maps to MESA_FORMAT_RGBA8888_REV in core mesa or PIPE_FORMAT_R8G8B8A8_UNORM in gallium. The format is used by translucent surfaces on Android.
* glsl: Don't do structure splitting until link time.Eric Anholt2011-09-081-1/+1
| | | | | | | | | We were splitting on each side of an unlinked program, and the two sides lost track of which variables they referenced, resulting in assertion failure during validation. Fixes piglit link-struct-uniform-usage. Reviewed-by: Ian Romanick <[email protected]>
* glsl: Clarify error message about whole-array assignment in GLSL 1.10.Eric Anholt2011-09-081-6/+25
| | | | | | | | | | | | | | | | | Previously, it would produce: Failed to compile FS: 0:6(7): error: non-lvalue in assignment and now it produces: Failed to compile FS: 0:5(7): error: whole array assignment is not allowed in GLSL 1.10 or GLSL ES 1.00. Also, add spec quotation to the two places we have code for array lvalues in GLSL 1.10. Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* glsl: When assiging from a whole array, mark it as used.Eric Anholt2011-09-081-0/+1
| | | | | | Fixes piglit link-uniform-array-size. Reviewed-by: Ian Romanick <[email protected]>
* glsl: Fix setting of OutputsWritten for whole array dereference.Eric Anholt2011-09-081-4/+2
| | | | | | | | We just want to mark the whole thing used, not mark from each element the whole size in use. Fixes undefined URB entry writes on i965, which blew up with debugging enabled. Reviewed-by: Ian Romanick <[email protected]>
* mesa: remove unneeded #include of texfetch.hBrian Paul2011-09-081-1/+0
|
* mesa: use _mesa_unpack_float_z_row in get_tex_depth()Brian Paul2011-09-081-5/+7
| | | | Removes another use of the gl_texture_image::FetchTexelf() function.
* mesa: use ctx->Driver.GetTexImage() to decompress base texture imageBrian Paul2011-09-081-42/+43
| | | | | This is a simple way to do the job and it removes one more use of the soon-to-be-removed gl_texture_image::FetchTexelc() function.
* mesa: handle compressed images in get_tex_rgba()Brian Paul2011-09-081-58/+106
| | | | | | Uses the new _mesa_decompress_image() function. Unlike the meta path that uses textured quad rendering to do decompression, this works with signed formats as well.
* mesa: new _mesa_decompress_image() functionBrian Paul2011-09-082-0/+91
| | | | | Use the old texture fetch functions to decompress a whole image. To be used by glGetTexImage().
* mesa: added _mesa_get_uncompressed_format(), _mesa_format_num_components()Brian Paul2011-09-082-0/+71
|
* mesa: add new pixel format unpacking codeBrian Paul2011-09-084-0/+1545
| | | | | This will be used instead of the texel fetch code to unpack images in various formats.
* meta: added _mesa_meta_GetTexImage()Brian Paul2011-09-083-1/+232
| | | | | If the texture is compressed, call the meta decompress_texture_image() function. Otherwise, call the core _mesa_get_teximage() function.
* meta: move texcoord setup into setup_texture_coords()Brian Paul2011-09-081-92/+176
|
* nouveau: fix nouveau_fence leakMarcin Slusarz2011-09-081-0/+2
| | | | Note: This is a candidate for the 7.11 branch.
* nv50: fix screen->blitctx memory leakMarcin Slusarz2011-09-081-0/+2
|
* gles: Fix glGet(GL_{NUM_,}COMPRESSED_TEXTURE_FORMATS_ARB)Adam Jackson2011-09-081-1/+2
| | | | | | | We'd still accept the GL_PALETTE[48]_* formats in glCompressedTexImage2D, but they wouldn't be listed if you queried whether they were supported. Signed-off-by: Adam Jackson <[email protected]>
* glsl: Make sure gl_ClipDistance and gl_ClipVertex are not both written.Paul Berry2011-09-081-0/+19
| | | | | | | | | | | | | From section 7.1 (Vertex Shader Special Variables) of the GLSL 1.30 spec: "It is an error for a shader to statically write both gl_ClipVertex and gl_ClipDistance." Fixes piglit test mixing-clip-distance-and-clip-vertex-disallowed.c. Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* glsl: Check that gl_ClipDistance[] is not sized too large.Paul Berry2011-09-081-0/+15
| | | | | | | | | Fixes piglit tests clip-distance-explicit-too-large-with-access.{frag,vert} and clip-distance-explicit-too-large.{frag,vert}. Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* glsl: Rework oversize array check for gl_TexCoord.Paul Berry2011-09-081-12/+33
| | | | | | | | | | | | | The check now applies both when explicitly declaring the size of gl_TexCoord and when implicitly setting the size of gl_TexCoord by accessing it using integral constant expressions. This is prep work for adding similar size checks to gl_ClipDistance. Fixes piglit tests texcoord/implicit-access-max.{frag,vert}. Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* glsl: Add constant gl_MaxClipDistances.Paul Berry2011-09-081-0/+15
| | | | | | | Fixes piglit tests {vs,fs}-clip-distance-sizeable-to-max.shader_test. Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* glsl: Make gl_ClipDistance[] implicitly sized.Paul Berry2011-09-081-4/+24
| | | | | | | | | | | | | | | From the GLSL 1.30 spec, section 7.1 (Vertex Shader Special Variables): The gl_ClipDistance array is predeclared as unsized and must be sized by the shader either redeclaring it with a size or indexing it only with integral constant expressions. Fixes piglit tests clip-distance-implicit-length.vert, clip-distance-implicit-nonconst-access.vert, and {vs,fs}-clip-distance-explicitly-sized.shader_test. Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* scons: Use -g instead of -g3.José Fonseca2011-09-081-1/+1
| | | | | | | -g3 causes binaries to be 3x - 10x bigger, not only on MinGW w/ dwarf debugging info, but linux as well. Stick with -g, (which defaults to -g2), like autoconf does.