summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Build fix for -Werror=int-to-pointer-cast -Werror=pointer-to-int-castJeremy Huddleston2011-11-012-4/+4
| | | | Signed-off-by: Jeremy Huddleston <[email protected]>
* intel: fix potential segfault errorYuanhan Liu2011-11-021-2/+4
| | | | | Signed-off-by: Yuanhan Liu <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* swrast: Use MapRenderbuffer for glReadPixels(GL_DEPTH_COMPONENT) fast-paths.Eric Anholt2011-11-011-68/+63
| | | | | | | | This fixes issues with the code playing fast and loose with types of buffers, and as a bonus avoids the wrappers that were previously used to pull bits out of packed depth/stencil buffers. Reviewed-by: Brian Paul <[email protected]>
* mesa: Make unpack_uint_z_row return 32 bits of data.Eric Anholt2011-11-011-25/+10
| | | | | | | | | Some of the return values were u32, some were 24 bits, and z16 returned 16 bits. The caller would have to do all the work of interpreting the format all over again. However, there are no callers of this function at this point. Reviewed-by: Brian Paul <[email protected]>
* nouveau: Add implementation of MapRenderbuffer.Eric Anholt2011-11-011-0/+46
| | | | | | | | Perhaps the easiest implementation, nouveau can directly map buffers even if tiled, and uses separate surfaces for its texture renderbuffers so we don't have to worry about that offset. Reviewed-by: Brian Paul <[email protected]>
* radeon: Add implementation of MapRenderbuffer.Eric Anholt2011-11-012-0/+98
| | | | | | | | | | | Unlike intel, we do a blit to/from GTT memory in order to untile/retile the renderbuffer data, since we don't have fence registers for accessing it. (There is software tiling code in radeon_tile.c, but it's unused and doesn't support macro tiling) Reviewed-by: Brian Paul <[email protected]>
* intel: Use MapRenderbuffer in spans setup.Eric Anholt2011-11-011-23/+10
| | | | Reviewed-by: Brian Paul <[email protected]>
* intel: Add an implementation of MapRenderbuffer.Eric Anholt2011-11-014-1/+130
| | | | | | | | | v2: Add separate stencil S8 W-tile swizzling/deswizzling. Tested for the swizzling case with env INTEL_SEPARATE_STENCIL=1 INTEL_HIZ=1 ./bin/hiz-depth-stencil-test-fbo-d24-s8 v3: Apply Chad's fix for S8 window system buffers. Reviewed-by: Chad Versace <[email protected]>
* intel: Improve the debug info for renderbuffer allocation.Eric Anholt2011-11-011-4/+4
|
* Add MapRenderbuffer implementations for software drivers.Eric Anholt2011-11-016-4/+127
| | | | | | | | | | Mesa core's is generic for things like osmesa. For swrast_dri.so, we have to do Y flipping. The front-buffer path isn't actually tested, though, because both before and after it fails with a BadMatch in XGetImage. Reviewed-by: Brian Paul <[email protected]>
* mesa: Add a driver hook for mapping renderbuffers.Eric Anholt2011-11-011-0/+9
| | | | Reviewed-by: Brian Paul <[email protected]>
* Revert "intel: Drop the immediate validation of the texture object in TFP."Eric Anholt2011-11-011-0/+5
| | | | | | | | | | | | | | | | | | This reverts commit abaebcee787eeb8a89bf7a82ed4d1532fcde5e39. The assertion I made was that "the zero-copy code in validation" would zero copy. Of course, I deleted that check back in January because the two sites that would trigger it (glTexImage() and this one) both immediately bound their mt to the object, making the other check pointless. Removes two extra blits in glx-tfp. Also fixed the Android home screen, which wasn't rendering because the extra copy broke the relationship between the texture and the eglimage. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=42152 Tested-by: Chad Versace <[email protected]> Tested-by: Eugeni Dodonov <[email protected]>
* mesa: make save_EndConditionalRender param list (void) to silence warningBrian Paul2011-11-011-1/+1
|
* postprocess: remove const qualifiers on unsigned int parametersBrian Paul2011-11-011-2/+2
| | | | to match the prototype in postprocess.h
* scons: include src/glsl/Makefile.sourcesChia-I Wu2011-11-021-68/+14
| | | | Reviewed-by: Brian Paul <[email protected]>
* android: include src/glsl/Makefile.sourcesChia-I Wu2011-11-021-86/+10
| | | | | | | | | | This also fixes the build error due to missing link_uniforms.cpp in the source lists. Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Chad Versace <[email protected]> [olv: the missing link_uniforms.cpp was added before this patch is committed]
* glsl: Refactor source lists to Makefile.sourcesChia-I Wu2011-11-022-73/+113
| | | | | | | | With the hope that Android.mk and SConscript can share the file to reduce future breakage. Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Chad Versace <[email protected]>
* mesa: Fix memory leak in out-of-memory path.Vinson Lee2011-11-011-0/+1
| | | | Fixes Coverity resource leak defect.
* drisw: Enable SGI_make_current_read for direct contextsAdam Jackson2011-11-011-0/+2
| | | | | | | Equivalent to glXMakeContextCurrent, which had better already work since we advertise GLX 1.3. Signed-off-by: Adam Jackson <[email protected]>
* st/xa: Add a scanout flag for surfacesThomas Hellstrom2011-11-012-1/+14
| | | | | | | Bump minor to signal availability. Signed-off-by: Thomas Hellstrom <[email protected]> Reviewed-by: Jakob Bornecrantz <[email protected]>
* Build link_uniforms for androidEugeni Dodonov2011-11-011-0/+1
| | | | | | Otherwise android-x86 build fails. Signed-off-by: Eugeni Dodonov <[email protected]>
* llvmpipe: Re-advertise support for stencil formats...José Fonseca2011-11-011-5/+6
| | | | | | "no fetch_rgba_float for uint formats" => "llvmpipe does not support uint formats" "stencil == uint" => "llvmpipe does not support stencil"
* llvmpipe: Use -1 instead of ~0 for "no slot".José Fonseca2011-11-013-15/+21
| | | | | | As the value of unsigned ~0 depends on the bit-width. Fixes fdo 42411.
* docs: update relnotes-7.12Marek Olšák2011-11-011-0/+1
|
* dri/nouveau: Enable NV_fog_distance on NV10 and NV20 hardwareNicholas Miell2011-11-014-9/+30
| | | | | | | Add support for NV_fog_distance to the NV10 and NV20 drivers. [ Francisco Jerez: Fix fog coord. signedness for GL_EYE_RADIAL_NV/GL_EYE_PLANE on nv20 ]
* st/mesa: Enable NV_fog_distance for Gallium driversNicholas Miell2011-11-011-0/+1
| | | | | The fixed-function generated vertex program is all that's needed for Gallium drivers.
* mesa: Add NV_fog_distance to the fixed-function vertex program generatorNicholas Miell2011-11-011-4/+39
| | | | | This is all that is needed to implement NV_fog_distance on programmable hardware.
* mesa: Add the basics for the NV_fog_distance extensionNicholas Miell2011-11-014-0/+22
| | | | No driver implements it yet.
* ralloc: Use _vscprintf on MinGW.José Fonseca2011-11-011-1/+7
| | | | | | | | MinGW uses MSVC's runtime DLLs for most of C runtime's functions, and there has same semantics for vsnprintf. Not sure how this worked until now -- maybe one of the internal vsnprintf implementations was taking precedence.
* svga: Fix potential buffer overflow in rs draw state.José Fonseca2011-10-314-13/+19
| | | | Reviewed-by: Brian Paul <[email protected]>
* llvmpipe: Remove unsed variables.José Fonseca2011-10-312-6/+1
|
* util: Add missing initializer.José Fonseca2011-10-311-1/+1
|
* i965: Fix flat integral varyings.Paul Berry2011-10-312-3/+5
| | | | | | | | | | | | | | | | | Previously, the vertex and fragment shader back-ends assumed that all varyings were floats. In GLSL 1.30 this is no longer true--they can also be of integral types provided that they have an interpolation qualifier of "flat". This required two changes in each back-end: assigning the correct type to the register that holds the varying value during shader execution, and assigning the correct type to the register that ties the varying value to the rest of the graphics pipeline (the message register in the case of VS, and the payload register in the case of FS). Fixes piglit tests fs-int-interpolation and fs-uint-interpolation. Acked-by: Kenneth Graunke <[email protected]>
* mesa: Add glsl_type::get_scalar_type() function.Paul Berry2011-10-312-0/+34
| | | | | | | | This function is similar to get_base_type(), but when called on arrays, it returns the scalar type composing the array. For example, glsl_type(vec4[]) => float_type. Acked-by: Kenneth Graunke <[email protected]>
* i965/gen6+: Switch GLSL from ALT to IEEE floating point modePaul Berry2011-10-314-6/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | i965 graphics hardware has two floating point modes: ALT and IEEE. In ALT mode, floating-point operations never generate infinities or NaNs, and MOV instructions translate infinities and NaNs to finite values. In IEEE mode, infinities and NaNs behave as specified in the IEEE 754 spec. Previously, we used ALT mode for all vertex and fragment programs, whether they were GLSL programs or ARB programs. The GLSL spec is sufficiently vague about how infs and nans are to be handled that it was unclear whether this mode was compliant with the GLSL 1.30 spec or not, and it made it very difficult to test the isinf() and isnan() functions. This patch changes i965 GLSL programs to use IEEE floating-point mode, which is clearly compliant with GLSL 1.30's inf/nan requirements. In addition to making the Piglit isinf and isnan tests pass, this paves the way for future support of the ARB_shader_precision extension. Unfortunately we still have to use ALT floating-point mode when executing ARB programs, because those programs require 0^0 == 1, and i965 hardware generates 0^0 == NaN in IEEE mode. Fixes piglit tests "isinf-and-isnan fs_fbo", "isinf-and-isnan vs_fbo", and {fs,vs}-{isinf,isnan}-{vec2,vec3,vec4}.
* glsl: Add isinf() and isnan() builtins.Paul Berry2011-10-314-4/+34
| | | | | | | | | | | | | The implementations are as follows: isinf(x) = (abs(x) == +infinity) isnan(x) = (x != x) Note: the latter formula is not necessarily obvious. It works because NaN is the only floating point number that does not equal itself. Fixes piglit tests "isinf-and-isnan fs_basic" and "isinf-and-isnan vs_basic".
* glsl: Add '.ir' extension to builtin IR filesPaul Berry2011-10-3166-3/+9
| | | | | | | | This patch adds the extension '.ir' to all the files in src/glsl/builtins/ir/, and changes generate_builtins.py so that it no longer globs on '*' to find the files to build. This prevents spurious files (such as EMACS' infamous *~ backup files) from breaking the build.
* glsl: Fix copy-paste error in constant_expression_value(ir_binop_nequal)Paul Berry2011-10-311-1/+1
| | | | | | | | | | | The implementation of ir_binop_nequal in constant_expression_value() appears to have been copy-and-pasted from the implementation of ir_binop_equal, but with all instances of '==' changed to '!='. This is correct except for one minor flaw: one of those '==' operators was in an assertion checking that the types of the two arguments were equal. That one needs to stay an '=='. Fixes piglit tests {fs,vs}-inline-notequal.
* docs: list GL_ARB_texture_storage in 7.12 release notesBrian Paul2011-10-311-0/+1
|
* mesa: add note about immutable textures for _mesa_test_texobj_completeness()Brian Paul2011-10-311-0/+4
|
* swrast: implement GL_ARB_texture_storageBrian Paul2011-10-314-0/+43
|
* st/mesa: implement GL_ARB_texture_storageBrian Paul2011-10-312-0/+63
|
* mesa: plug in dispatch functions for GL_ARB_texture_storageBrian Paul2011-10-311-0/+9
|
* mesa: compile new texstore.c fileBrian Paul2011-10-312-0/+2
|
* mesa: init extension entry for GL_ARB_texture_storageBrian Paul2011-10-311-0/+1
|
* mesa: display list dispatch for GL_ARB_texture_storageBrian Paul2011-10-311-0/+9
|
* mesa: new glTexImage error checks for GL_ARB_texture_storageBrian Paul2011-10-311-0/+34
| | | | | If the texture memory was allocated with glTexStorage1/2/3D() we can only change the image data with glTexSubImage calls.
* mesa: glGetTexParameter support for GL_ARB_texture_storageBrian Paul2011-10-311-0/+12
|
* mesa: implement new functions for GL_ARB_texture_storageBrian Paul2011-10-312-0/+463
| | | | | This is the glTexStorage1D/2D/3D() functions. Basically do error checking then call the driver hook to actually allocate memory.
* glapi: regenerated API files for GL_ARB_texture_storageBrian Paul2011-10-3111-8990/+9581
|