summaryrefslogtreecommitdiffstats
path: root/src/mesa
Commit message (Collapse)AuthorAgeFilesLines
* mesa: use _mesa_pack_ubyte_rgba_rect() in texstore codeBrian Paul2012-01-301-219/+64
| | | | | | | Simplifies the general case code in the ubyte-valued texture format functions. More consolidation to come in subsequent commits. Reviewed-by: Eric Anholt <[email protected]>
* mesa: added _mesa_pack_ubyte_rgba_rect()Brian Paul2012-01-302-0/+46
| | | | Reviewed-by: Eric Anholt <[email protected]>
* dri: Add a default drirc to be installed to provide application workarounds.Eric Anholt2012-01-302-0/+9
| | | | | | | | Specifially, this being present works around a bug in Unigine Sanctuary on i965 which previously resulted in bad rendering. NOTE: This is a candidate for the 8.0 branch. Reviewed-by: Kenneth Graunke <[email protected]>
* i965: Add a driconf option to force GLSL extension behavior to "warn".Eric Anholt2012-01-303-1/+14
| | | | | | | | | This can be used to work around broken application behavior, like in Unigine where it attempts to use texture arrays without declaring either "#extension GL_EXT_texture_array : enable" or "#version 130". NOTE: This is a candidate for the 8.0 branch. Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: Add a flag for forcing all GLSL extensions to "warn".Eric Anholt2012-01-301-0/+6
| | | | | NOTE: This is a candidate for the 8.0 branch. Reviewed-by: Kenneth Graunke <[email protected]>
* intel: Use libdrm's decode functionality instead of the gpu-tools copy.Eric Anholt2012-01-305-2795/+41
| | | | | | While typing out the new decode, I added a fallback mode for dumping when we fail to re-map the BO after execution. This should get us a minimal dump when trying to dump a batch that results in a GPU hang.
* i965: Fix segfault with INTEL_DEBUG=batch on gen7 with samplers present.Eric Anholt2012-01-301-1/+0
| | | | This was a leftover from the conversion of this file for state streaming.
* i965/vs: Avoid allocating registers in to the gen7 MRF hack region.Eric Anholt2012-01-303-3/+6
| | | | | | | This is the corresponding fix to the previous one for the FS, but I don't have a particular test for it. NOTE: This is a candidate for the 8.0 branch.
* i965/fs: Fix rendering corruption in unigine tropics.Eric Anholt2012-01-304-4/+17
| | | | | | | | | | | | We were allocating registers into the MRF hack region, resulting in sparkly renering in a few of the scenes. We could do better allocation by making an MRF class, having MRFs conflict with the corresponding GRFs, and tracking the live intervals of the "MRF"s and setting up the conflicts. But this is way easier for the moment. NOTE: This is a candidate for the 8.0 branch. Reviewed-by: Kenneth Graunke <[email protected]>
* Rename R300_NO_TCL envvar to RADEON_NO_TCLMatt Turner2012-01-301-1/+1
| | | | | | | | The envvar works for R100 and R200 too, and the classic R300 driver doesn't even exist anymore. "RADEON_NO_TCL" is already mentioned in the code and is the same envvar used for the R300g driver.
* mesa/format_unpack: add LUMINANCE 8/16 UINT/INTDave Airlie2012-01-301-0/+58
| | | | | | | | This just copies what the LUMINANCE_ALPHA bits do. Fixes piglit tests on softpipe complaining about missing unpack. Signed-off-by: Dave Airlie <[email protected]>
* dri: don't link with DRICORE_LIB_DEPSMatt Turner2012-01-286-7/+1
| | | | DRI_LIB_DEPS is sufficient since it includes DRICORE_LIB_DEPS
* st/mesa: use table-driven approach to exposing extensions for formats (v3)Marek Olšák2012-01-291-207/+167
| | | | | | | | | | | | | | | | | | The check for ctx->API was unnecessary, because OES extensions are not exposed in desktop GL. Also require renderbuffer support for ARB_texture_rgb10_a2ui, as per the spec. Tested by comparing old and new glxinfo with softpipe and r600g. v2: fix bugs v3: rename need_only_one -> need_at_least_one rename num_elements -> num_mappings add comments use const when appropriate Reviewed-by: Brian Paul <[email protected]>
* st/mesa: use table-driven approach to exposing extensions based on CAPsMarek Olšák2012-01-291-108/+58
| | | | | | | | | | | | This change is not exactly equivalent (sometimes we checked for non-zero, sometimes if >0 or >1), but the behavior shouldn't change, because all drivers report 0 for unsupported CAPs. Exposing CAP_STREAM_OUTPUT_PAUSE_RESUME without CAP_MAX_STREAM_OUTPUT_BUFFERS is a driver bug and st/mesa does no checking if the latter is supported as well. Drivers must report CAPs consistently. v2: make the array const
* st/mesa: add PIPE_CAP_GLSL_FEATURE_LEVEL, cleanup st_extensions.cMarek Olšák2012-01-291-21/+28
| | | | | | | | v2: handle the cap in r300 and r600 as well Additional info for r600g: The env var R600_GLSL130=1 enables GLSL 1.3. Along with R600_STREAMOUT=1, it enables full GL 3.
* state_stracker: Fix access to uninitialized memory.Mathias Fröhlich2012-01-291-1/+1
| | | | | | | | Fix an access to uninitialized memory pointed out by valgrind in glsl_to_tgsi_visitor::simplify_cmp(void). Note: This is a candidate for the 8.0 branch. Signed-off-by: Mathias Fröhlich <[email protected]>
* i965: fix inverted point sprite origin when rendering to FBOYuanhan Liu2012-01-283-5/+27
| | | | | | | | | | | | | | | | | | | | When rendering to FBO, rendering is inverted. At the same time, we would also make sure the point sprite origin is inverted. Or, we will get an inverted result correspoinding to rendering to the default winsys FBO. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44613 NOTE: This is a candidate for stable release branches. v2: add the simliar logic to ivb, too (comments from Ian) simplify the logic operation (comments from Brian) v3: pick a better comment from Eric use != for the logic instead of ^ (comments from Ian) Signed-off-by: Yuanhan Liu <[email protected]> Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: remove byteswap check in fast_read_rgba_pixels_memcpy()Brian Paul2012-01-271-5/+0
| | | | | | It's handled by _mesa_format_matches_format_and_type() now. Reviewed-by: Ian Romanick <[email protected]>
* mesa: more use of _mesa_format_matches_format_and_type() in texstore codeBrian Paul2012-01-271-12/+7
| | | | | | For rgb9_e5, r11_g11_b10f, argb2101010_uint functions. Reviewed-by: Ian Romanick <[email protected]>
* mesa: more use of _mesa_format_matches_format_and_type() in texstore codeBrian Paul2012-01-271-19/+4
| | | | | | For rgb332, signed rgba8888, signed rgba888_rev functions. Reviewed-by: Ian Romanick <[email protected]>
* mesa: more use of _mesa_format_matches_format_and_type() in texstore codeBrian Paul2012-01-271-13/+7
| | | | | | For rgba5551, argb1555, argb2101010 formats. Reviewed-by: Ian Romanick <[email protected]>
* mesa: more use of _mesa_format_matches_format_and_type() in texstore codeBrian Paul2012-01-271-18/+8
| | | | For rgb565, argb8888, rgb888, argb4444 functions.
* mesa: use _mesa_format_matches_format_and_type() in texstore codeBrian Paul2012-01-271-44/+4
| | | | | | | | | | This simplifies the code quite a bit, consolidates some cases and possibly catches more cases for the memcpy path. More such changes will follow. Do just a few at a time to help bisect any possible regressions. Reviewed-by: Ian Romanick <[email protected]>
* mesa: implement more cases in _mesa_format_matches_format_and_type()Brian Paul2012-01-271-2/+22
| | | | Reviewed-by: Ian Romanick <[email protected]>
* mesa: use swapBytes parameter in _mesa_format_matches_format_and_type()Brian Paul2012-01-271-38/+93
| | | | | | | | This will let us use memcpy in more situations. We can also remove the checks for byte spapping that happen before the calls to _mesa_format_matches_format_and_type(). Reviewed-by: Ian Romanick <[email protected]>
* mesa: added swapBytes parameter to _mesa_format_matches_format_and_type()Brian Paul2012-01-274-7/+12
| | | | | | Not actually used yet though. Reviewed-by: Ian Romanick <[email protected]>
* mesa: rewrite, simplify some of the logic in ↵Brian Paul2012-01-271-9/+28
| | | | | | | | _mesa_format_matches_format_and_type() In preparation for adding GL_PACK/UNPACK_SWAP_BYTES support. Reviewed-by: Ian Romanick <[email protected]>
* mesa: add BGR888 code in _mesa_format_matches_format_and_type()Brian Paul2012-01-271-1/+1
| | | | Reviewed-by: Ian Romanick <[email protected]>
* mesa: fix error in _mesa_format_matches_format_and_type() for RGB888Brian Paul2012-01-271-1/+1
| | | | Reviewed-by: Ian Romanick <[email protected]>
* mesa: remove redundant byte swap checkBrian Paul2012-01-271-6/+2
| | | | | | The outer conditional already did the test. Reviewed-by: Ian Romanick <[email protected]>
* mesa: remove LSB-first pixel packing check in glReadPixelsBrian Paul2012-01-271-2/+1
| | | | | | GL_UNPACK_LSB_FIRST only applies to bitmap data, not glReadPixels. Reviewed-by: Ian Romanick <[email protected]>
* swrast: Fix implicit declaration warningsChad Versace2012-01-271-0/+1
| | | | | | | | | | | | | In a recent commit, commit 1c0f1dd42a50464eeb81de4aad8eecf24b3d6c89 Author: Chad Versace <[email protected]> swrast: Fix fixed-function fragment processing I defined a new function,_swrast_fragment_program, but neglected to #include s_fragprog.h for clients of that function. Note: This is a candidate for the 8.0 branch. Reported-by: Brian Paul <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* mesa: Avoid void * arithmetic.José Fonseca2012-01-271-1/+1
| | | | Should fix MSVC build.
* swrast: Fix fixed-function fragment processingChad Versace2012-01-279-44/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On i965, _mesa_ir_link_shader is never called. As a consequence, the current fragment program (ctx->FragmentProgram->_Current) exists but is invalid because it has no instructions. Yet swrast continued to attempt to use the empty program. To avoid using the empty program, this patch 1) defines a new function, _swrast_use_fragment_program, which checks if the current fragment program exists and differs from the fixed function fragment program, and, when appropriate, 2) replaces checks of the form if (ctx->FragmentProgram->_Current == NULL) with if (_swrast_use_fragment_program(ctx)) Fixes the following oglconform regressions on i965/gen6: api-fogcoord(basic.allCases.log) api-mtexcoord(basic.allCases.log) api-seccolor(basic.allCases.log) api-texcoord(basic.allCases.log) blend-separate(basic.allCases) colorsum(basic.allCases.log) The tests were ran with the GLXFBConfig: visual x bf lv rg d st colorbuffer sr ax dp st accumbuffer ms cav id dep cl sp sz l ci b ro r g b a F gb bf th cl r g b a ns b eat ---------------------------------------------------------------------------- 0x021 24 tc 0 32 0 r y . 8 8 8 8 . . 0 24 8 0 0 0 0 0 0 None (Note: I originally believed that the hunk in _swrast_update_fragment_program was unnecessary. But it is required to fix blend-separate.) Note: This is a candidate for the 8.0 branch. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=43327 Reveiwed-by: Eric Anholt <[email protected]> Reviewed-by: Ian Romanick <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* mesa: set clamp bit in glGetTexImage for GL_UNSIGNED_NORMALIZEDAnuj Phogat2012-01-271-0/+9
| | | | | | | | | | | | | Color clamping should be enabled in glGetTexImage if texture dataType is GL_UNSIGNED_NORMALIZED and format is GL_LUMINANCE or GL_LUMINANCE_ALPHA Fixes 2 Intel oglconform test cases: pxconv-gettex and pxtrans-gettex https://bugs.freedesktop.org/show_bug.cgi?id=40864 NOTE: This is a candidate for the 8.0 branch Signed-off-by: Anuj Phogat <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* mesa: Don't round-trip integer texture data through a floating point temp.Eric Anholt2012-01-271-21/+24
| | | | | | | | | | | | | | | This was losing bits of precision. Fixes (with the previous commits): piglit EXT_texture_integer/getteximage-clamping piglit EXT_texture_integer/getteximage-clamping GL_ARB_texture_rg oglc advanced.mipmap.upload Regresses oglc negative.typeFormatMismatch.teximage from fail to abort, because it's been hitting texstore for a format/type combo that shouldn't happen. NOTE: This is a candidate for the 8.0 branch. Reviewed-by: Brian Paul <[email protected]>
* mesa: When unpacking signed integer pixel data, don't clamp to 0.Eric Anholt2012-01-271-33/+12
| | | | | | | | | | | | In the core, we always treat spans of int/uint data as uint, so this extract function was truncating storage of integer pixel data to a n int texture to (0, max_int) instead of (min_int, max_int). There is probably missing code for handling truncation on conversion between pixel formats, still, but this does improve things. NOTE: This is a candidate for the 8.0 branch. Reviewed-by: Brian Paul <[email protected]>
* mesa: Add clamping for packing of integer data.Eric Anholt2012-01-271-4/+4
| | | | | | | | | | Mostly fixes piglit EXT_texture_integer/getteximage-clamping. The remaining failure involves precision loss on storing of int32 texture data (something I knew was an issue, but wasn't trying to test). NOTE: This is a candidate for the 8.0 branch. Reviewed-by: Brian Paul <[email protected]>
* mesa: Add missing format unpack for some integer texture formats.Eric Anholt2012-01-271-0/+321
| | | | | | | | | | | | | This cut and paste is pretty awful. I'm tempted to do a lot of this using preprocessor tricks for customizing the parameter type from a template function, but that's just a different sort of hideous. Fixes 8 Intel oglconform int-textures cases. NOTE: This is a candidate for the 8.0 branch. v2: Add alpha formats, too. Reviewed-by: Brian Paul <[email protected]>
* i965: Don't allow rendering to non-GL_RED/RG/RGBA integer textures.Eric Anholt2012-01-271-0/+11
| | | | Fixes piglit EXT_texture_integer/fbo-blending.
* intel: Pass the gl_renderbuffer to render_target_supported() vtable method.Eric Anholt2012-01-277-10/+17
| | | | | | I'm going to want to go looking at it for an integer texture fix. NOTE: This is a candidate for the 8.0 branch.
* intel: Make a renderbuffer wrapping a texture have the same _BaseFormat.Eric Anholt2012-01-271-1/+1
| | | | | | | | Otherwise, when you asked for the _BaseFormat of an rb wrapping a GL_RGB texture, you got GL_RGBA because that's what we were storing the texture data as. NOTE: This is a candidate for the 8.0 branch.
* intel: Simplify intel_renderbuffer_update_wrapper() by passing in the image.Eric Anholt2012-01-271-20/+9
| | | | NOTE: This is a candidate for the 8.0 branch.
* intel: Drop intel_wrap_miptree().Eric Anholt2012-01-271-53/+3
| | | | | | | | Most of this function was just calling intel_renderbuffer_update_wrapper(), which was called immediately afterwards in the only caller. NOTE: This is a candidate for the 8.0 branch.
* intel: Comment typo fix.Eric Anholt2012-01-271-1/+1
|
* mesa: Fix handling of glCopyBufferSubData() for src == dst.Eric Anholt2012-01-271-6/+19
| | | | | | | | Fixes piglit ARB_copy_buffer-overlap, on swrast, which previously assertion failed. Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* intel: Fix accum buffer mapping since the swrast rework.Eric Anholt2012-01-271-5/+7
| | | | | | A pure swrast-allocated buffer gets an irb of NULL, so we segfaulted in the clear-accum test. Just look at the swrast renderbuffer pointer for handling swrast rbs.
* mesa: Fix display list handling for GL_EXT_framebuffer_multisample.Eric Anholt2012-01-271-0/+3
| | | | | | | | | | | | | | | From the extension spec: Added to section 5.4, as part of the discussion of which commands are not compiled into display lists: "Certain commands, when called while compiling a display list, are not compiled into the display list but are executed immediately. These are: ..., RenderbufferStorageMultisampleEXT..." Fixes piglit EXT_framebuffer_multisample/dlist. Reviewed-by: Brian Paul <[email protected]>
* mesa: Fix display list handling for EXT_framebuffer_object.Eric Anholt2012-01-271-0/+18
| | | | | | | | | | | | | | | | | | | | Noticed when handling a similar problem in EXT_framebuffer_multisample. From the EXT_framebuffer_object spec: Added to section 5.4, as part of the discussion of which commands are not compiled into display lists: "Certain commands, when called while compiling a display list, are not compiled into the display list but are executed immediately. These are: ..., GenFramebuffersEXT, BindFramebufferEXT, DeleteFramebuffersEXT, CheckFramebufferStatusEXT, GenRenderbuffersEXT, BindRenderbufferEXT, DeleteRenderbuffersEXT, RenderbufferStorageEXT, FramebufferTexture1DEXT, FramebufferTexture2DEXT, FramebufferTexture3DEXT, FramebufferRenderbufferEXT, GenerateMipmapEXT..." Reviewed-by: Brian Paul <[email protected]>
* i965/automake: use $top_srcdir instead of relative linksMatt Turner2012-01-271-3/+3
| | | | Fixes out-of-tree builds.