summaryrefslogtreecommitdiffstats
path: root/src/mesa
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* dri common: add .gitignoreMatt Turner2012-01-271-1/+3
|
* dri: make sure to build libdricommon.laMatt Turner2012-01-261-1/+1
|
* i965: Drop the missing symbols link test.Eric Anholt2012-01-261-9/+0
| | | | | | | | | | | | | | This was horribly broken and has cost everyone more time than we were ever going to save using it. It might have been fixable, but the problem it was originally trying to solve can be better solved with -Werror=missing-prototypes and -Werror=implicit-function-declaration. Also, it was always producing a big scary warning about how the link test was non-portable. Reviewed-by: Matt Turner <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44928
* nouveau: Fix missing dri common symbols after automake conversion.Eric Anholt2012-01-261-1/+2
|
* radeon: Fix missing dri common symbols after automake conversion.Eric Anholt2012-01-262-2/+4
| | | | Reviewed-by: Matt Turner <[email protected]>
* dri: Move the compile of the common files to a convenience library.Eric Anholt2012-01-263-20/+43
| | | | Reviewed-by: Matt Turner <[email protected]>
* i915: Fix driver after automakeification.Eric Anholt2012-01-261-1/+9
|
* i965/vs: Use the sampler for VS pull constant loading on Ivybridge.Kenneth Graunke2012-01-261-0/+17
| | | | | | | | | | | | | | | | | | Substantially increases performance in GLBenchmark PRO: - 320x240 => 3.28x - 1920x1080 => 1.47x - 2560x1440 => 1.27x The LD message ignores the sampler unit index and SAMPLER_STATE pointer, instead relying on hard-wired default state. Thus, there's no need to worry about running out of sampler units or providing SAMPLER_STATE; this small patch should be all that's required. NOTE: This is a candidate for release branches. (It requires the preceding commit to compile.) Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965: Expose brw_set_sampler_message for use outside brw_eu_emit.c.Kenneth Graunke2012-01-262-10/+22
| | | | | | | | brw_SAMPLE is full of complex workarounds for original Broadwater hardware, and I'd rather avoid all that for my next Ivybridge patch. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* nouveau: include s_context.h to silence missing prototype warningsBrian Paul2012-01-261-0/+1
|
* swrast: silence uninitialized var warningsBrian Paul2012-01-261-2/+2
|
* i965/gen6/GT1: Increase max_vs_entries to 256.Paul Berry2012-01-251-1/+1
| | | | | | | | | | Previously, max_vs_entries was set to 128 for GT1, and 256 for GT2, based on the PRM (see Vol2, part1, p28). However, Bspec section 1.6.5 indicates that the maximum number of VS entries is 256 for GT1. No piglit regressions on GT1. Reviewed-by: Kenneth Graunke <[email protected]>
* i965/gen6: Fix segfault in transform feedback to DYNAMIC_DRAW buffers.Paul Berry2012-01-251-1/+4
| | | | | | | | | | | | | | | | | | When storing data in a buffer of type DYNAMIC_DRAW, we don't create a drm_intel_bo for it; instead we store the data in system memory and defer allocation of the GPU buffer until it is needed. Therefore, in brw_update_sol_surface(), we can't just consult the "buffer" field of the intel_buffer_object structure; we need to call intel_bufferobj_buffer() to ensure that the deferred allocation occurs. This parallels a similar fix for gen7 (see commit ba6f4c9). Fixes piglit test EXT_transform_feedback/buffer-usage on gen6. This is a candidate for the 8.0 release branch. Reviewed-by: Eric Anholt <[email protected]>
* mesa/st: Assign inputsRead at right (previous) location.José Fonseca2012-01-251-2/+4
| | | | | | | | Fixes the src/mesa/state_tracker/st_glsl_to_tgsi.cpp:4032:src_register: Assertion `t->inputMapping[index] < (sizeof(t->inputs)/sizeof(*(t->inputs)))' failed. assertion failure introduced in 697b9945fb0f55428b06821f98fd8621372f81ad
* mesa: remove ctx->Const.sRGBCapableMarek Olšák2012-01-256-8/+3
| | | | | | | It always had the same value as ctx->Extensions.EXT_framebuffer_sRGB. Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Dave Airlie <[email protected]>
* mesa: allow exposing GL3 without EXT_texture_integerMarek Olšák2012-01-255-16/+37
| | | | | | | | | | | Strictly speaking, it's not legal to expose EXT_texture_integer without EXT_gpu_shader4. It might be even dangerous (apps can assume EXT_gpu_shader4 is available without checking for it). The check in compute_version is removed as well, because that's already covered by GLSLVersion >= 130. Reviewed-by: Brian Paul <[email protected]>
* mesa: add missing integer alpha formats to _mesa_base_fbo_formatMarek Olšák2012-01-251-0/+9
| | | | Reviewed-by: Brian Paul <[email protected]>
* st/mesa: require all s3tc formats for EXT_texture_compression_s3tcMarek Olšák2012-01-251-1/+10
| | | | Reviewed-by: Brian Paul <[email protected]>
* st/mesa: simplify enabling EXT_packed_depth_stencil and ARB_fboMarek Olšák2012-01-251-16/+5
| | | | | | | | - use OR to combine bind flags - combine both conditionals into one - move the ARB_fbo enable where it belongs Reviewed-by: Brian Paul <[email protected]>
* mesa: remove obsolete comment in version.cMarek Olšák2012-01-251-1/+0
| | | | Pointed out by Brian Paul.
* st/mesa: inline if(1) conditionalMarek Olšák2012-01-251-219/+215
| | | | v2: fix typo
* st/mesa: move fragment shader tgsi tokens into st_fp_variantMarek Olšák2012-01-254-17/+8
| | | | The TGSI code may vary depending on the clamp_color bit.
* st/mesa: do vertex and fragment color clamping in shadersMarek Olšák2012-01-2513-46/+120
| | | | | | | | | | | | | | For ARB_color_buffer_float. Most hardware can't do it and st/mesa is the perfect place for a fallback. The exceptions are: - r500 (vertex clamp only) - nv50 (both) - nvc0 (both) - softpipe (both) We also have to take into account that r300 can do CLAMPED vertex colors only, while r600 can do UNCLAMPED vertex colors only. The difference can be expressed with the two new CAPs.
* st/mesa: Fix recurring surfaceless contextsBenjamin Franzke2012-01-251-2/+4
| | | | | | | | | | | | | A current incomplete framebuffer was incorrectly used as a st_framebuffer. When accessing st_framebuffer childs bad things happen: e.g. st_framebuffer::iface was used to check whether its an incomplete fb, instead we need to compare st_framebuffer::Base against mesa_get_incomplete_framebuffer. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44919 Note: This is a candidate for the 8.0 branch. Reviewed-by: Brian Paul <[email protected]>