summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2011-01-06i965: Rename various gen6 #defines to match the documentation.Kenneth Graunke
This should make it easier to cross-reference the code and hardware documentation, as well as clear up any confusion on whether constants like CMD_3D_WM_STATE mean WM_STATE (pre-gen6) or 3DSTATE_WM (gen6+). This does not rename any pre-gen6 defines.
2011-01-06svga: Ensure that the wrong vdecls don't get used in swtnl pathJakob Bornecrantz
The draw module set new state that didn't require swtnl which caused need_swtnl to be unset. This caused the call from to svga_update_state(svga, SVGA_STATE_SWTNL_DRAW) from the vbuf backend to overwrite the vdecls we setup there to be overwritten with the real buffers vdecls.
2011-01-06glsl: Refresh autogenerated lexer and parser files.Ian Romanick
For the previous commit.
2011-01-06glsl: Support the 'invariant(all)' pragmaIan Romanick
Previously the 'STDGL invariant(all)' pragma added in GLSL 1.20 was simply ignored by the compiler. This adds support for setting all variable invariant. In GLSL 1.10 and GLSL ES 1.00 the pragma is ignored, per the specs, but a warning is generated. Fixes piglit test glsl-invariant-pragma and bugzilla #31925. NOTE: This is a candidate for the 7.9 and 7.10 branches.
2011-01-06glsl: Allow less restrictive uses of sampler array indexing in GLSL <= 1.20Ian Romanick
GLSL 1.10 and 1.20 allow any sort of sampler array indexing. Restrictions were added in GLSL 1.30. Commit f0f2ec4d added support for the 1.30 restrictions, but it broke some valid 1.10/1.20 shaders. This changes the error to a warning in GLSL 1.10, GLSL 1.20, and GLSL ES 1.00. There are some spurious whitespace changes in this commit. I changed the layout (and wording) of the error message so that all three cases would be similar. The 1.10/1.20 and 1.30 text is the same. The only difference is that one is an error, and the other is a warning. The GLSL ES 1.00 wording is similar but not quite the same. Fixes piglit test spec/glsl-1.10/compiler/constant-expressions/sampler-array-index-02.frag and bugzilla #32374.
2011-01-06r300g: fix corruption when nr_cbufs==0 and multiwrites enabledMarek Olšák
https://bugs.freedesktop.org/show_bug.cgi?id=32634
2011-01-06r300g: remove the buffer range checkingMarek Olšák
It's no longer needed because the upload buffer remains mapped while the CS is being filled (openarena, ut2004 and others that this code was for do not use VBOs by default).
2011-01-06r300g: skip buffer validation of upload buffers when appropriateMarek Olšák
because the upload buffers are reused for subsequent draw operations.
2011-01-06util: add comments to u_upload_mgr and u_inlinesMarek Olšák
2011-01-06vbo: remove a redundant call to _ae_invalidate_stateMarek Olšák
It's called in vbo_exec_invalidate_state too.
2011-01-06st/mesa: remove unused members in st_contextMarek Olšák
What were these for?
2011-01-06tgsi: remove redundant name tables from tgsi_text, use those from tgsi_dumpMarek Olšák
I also specified the array sizes in the header so that one can use the Elements macro on it.
2011-01-06gallium: drivers should reference vertex buffersMarek Olšák
So that a state tracker can unreference them after set_vertex_buffers.
2011-01-06st/mesa: optimize constant buffer uploadsMarek Olšák
The overhead of resource_create, transfer_inline_write, and resource_destroy to upload constant data is very visible with some apps in sysprof, and as such should be eliminated. My approach uses a user buffer to pass a pointer to a driver. This gives the driver the freedom it needs to take the fast path, which may differ for each driver. This commit addresses the same issue as Jakob's one that suballocates out of a big constant buffer, but it also eliminates the copy to the buffer.
2011-01-06st/mesa: do sanity checks on states only in debug buildsMarek Olšák
2011-01-06u_upload_mgr: new featuresMarek Olšák
- Added a parameter to specify a minimum offset that should be returned. r300g needs this to better implement user buffer uploads. This weird requirement comes from the fact that the Radeon DRM doesn't support negative offsets. - Added a parameter to notify a driver that the upload flush occured. A driver may skip buffer validation if there was no flush, resulting in a better performance. - Added a new upload function that returns a pointer to the upload buffer directly, so that the buffer can be filled e.g. by the translate module.
2011-01-06u_upload_mgr: keep the upload buffer mapped until it is flushedMarek Olšák
The map/unmap overhead can be significant even though there is no waiting on busy buffers. There is simply a huge number of uploads. This is a performance optimization for Torcs, a car racing game.
2011-01-06mesa: fix build for NetBSDPierre Allegraud
See http://bugs.freedesktop.org/show_bug.cgi?id=32859 NOTE: This is a candidate for the 7.9 and 7.10 branches. Signed-off-by: Brian Paul <brianp@vmware.com>
2011-01-06glext: upgrade to version 67Brian Paul
2011-01-06mesa: Clean up header file inclusion in version.c.Vinson Lee
Include imports.h directly instead of indirectly through context.h. version.c does use any symbols that are added by context.h.
2011-01-06nvc0: Fix typo of nvc0_mm.c in SConscript.Vinson Lee
2011-01-05mesa: bump version to 7.11Vinson Lee
2011-01-05mesa: Include mtypes.h in files that use gl_context struct.Vinson Lee
Directly include mtypes.h if a file uses a gl_context struct. This allows future removal of headers that are not strictly necessary but indirectly include mtypes.h for a file.
2011-01-06i965: skip too small size mipmapZou Nan hai
this fixes doom3 crash.
2011-01-05i915: Fix build for previous commit.Eric Anholt
2011-01-05intel: Always allocate miptrees from level 0, not tObj->BaseLevel.Eric Anholt
BaseLevel/MaxLevel are mostly used for two things: clamping texture access for FBO rendering, and limiting the used mipmap levels when incrementally loading textures. By restricting our mipmap trees to just the current BaseLevel/MaxLevel, we caused reallocation thrashing in the common case, for a theoretical win if someone really did want just levels 2..4 or whatever of their texture object. Bug #30366
2011-01-05intel: Drop unused first/lastlevel args to miptree_create_for_region.Eric Anholt
We're always making a single-level, 0-baselevel miptree.
2011-01-05swrast: Include mtypes.h in s_triangle.c.Vinson Lee
Include mtypes.h for gl_context symbol.
2011-01-05st/mesa: Include mtypes.h in st_cb_drawpixels.c.Vinson Lee
Include mtypes.h for gl_context symbol.
2011-01-05intel: Clarify first_level/last_level vs baselevel/maxlevel by deletion.Eric Anholt
This has always been ugly about our texture code -- object base/max level vs intel object first/last level vs image level vs miptree first/last level. We now get rid of intelObj->first_level which is just tObj->BaseLevel, and make intelObj->_MaxLevel clearly based off of tObj->_MaxLevel instead of duplicating its code (incorrectly, as image->MaxLog2 only considers width/height and not depth!)
2011-01-05mesa: Consider textures incomplete when maxlevel < baselevel.Eric Anholt
See section 3.8.10 of the GL 2.1 specification. There's no way to do anything sane with that, and drivers would get all sorts of angry.
2011-01-05i915: Enable LOD preclamping on 8xx like on 915/965.Eric Anholt
Fixes lodclamp-between and lodclamp-between-max.
2011-01-05i915: Implement min/max lod clamping in hardware on 8xx.Eric Anholt
This avoids 8xx-specific texture relayout for min/max lod changes. One step closer to avoiding relayout for base/maxlevel changes!
2011-01-05intel: Drop TEXTURE_RECTANGLE check in miptree layout setup.Eric Anholt
It's already handled by our non-mipmapped MinFilter, since TEXTURE_RECTANGLE is always NEAREST or LINEAR.
2011-01-05intel: Clean up redundant setup of firstLevel.Eric Anholt
It's always BaseLevel (since TEXTURE_RECTANGLE's baselevel can't be changed from 0), except for 8xx minlod hilarity.
2011-01-05intel: Drop a check for GL_TEXTURE_4D_SGIS.Eric Anholt
The SGIS_texture4D extension was thankfully never completed, so we couldn't implement it if we wanted to.
2011-01-05swrast: Remove unnecessary headers.Vinson Lee
2011-01-05i965: Simplify the renderbuffer setup code.Eric Anholt
It was quite a mess by trying to do NULL renderbuffers and real renderbuffers in the same function. This clarifies the common case of real renderbuffers.
2011-01-05st/xorg: Flesh out colour map support and support depth 8.Michel Dänzer
2011-01-05i965: use BLT to clear buffer if possible on SandybridgeXiang, Haihao
This fixes https://bugs.freedesktop.org/show_bug.cgi?id=32713
2011-01-04i965: Add support for SRGB DXT1 formats.Eric Anholt
This makes fbo-generatemipmap-formats GL_EXT_texture_sRGB-s3tc match fbo-generatemipmap-formats GL_EXT_texture_compression_s3tc and swrast in bad DXT1_RGBA alpha=0 handling, but it means we won't unpack and repack someone's textures into uncompressed SARGB8 format.
2011-01-04glcpp: Add test for recursive #define.Vinson Lee
2011-01-04mesa: Fix the baseFormat for GL_COMPRESSED_SLUMINANCE_EXT.Eric Anholt
It's just LUMINANCE, not LUMINANCE_ALPHA. Fixes fbo-generatemipmap-formats GL_EXT_texture_sRGB-s3tc assertion failure when it tries to pack the L8 channels into LUMINANCE_ALPHA and wonders why it's trying to do that.
2011-01-04intel: Merge our choosetexformat fallbacks into core.Eric Anholt
We now share the type/format -> MESA_FORMAT_* mappings with software mesa, and the core supports most of the fallbacks hardware drivers will want.
2011-01-04mesa: Make _mesa_choose_tex_format() choose formats out of a supported table.Eric Anholt
Right now this is just tweaking the current code to look at the table. Choosing actually supported formats will come later.
2011-01-04glcpp: Add division by zero test cases.Vinson Lee
2011-01-04mesa: preserve 10 bits of precision in the texstore general path for ARGB2101010Marek Olšák
Use make_temp_float_image instead of _make_temp_chan_image. The latter converts the texture to 8 bits/component, losing 2 bits.
2011-01-04st/mesa: advertise GL_ARB_half_float_pixelMarek Olšák
This extension doesn't appear to need any driver-specific parts.
2011-01-04r300/compiler: disable the rename_regs pass for loopsMarek Olšák
This workaround fixes rendering of kwin thumbnails. NOTE: This is a candidate for the 7.9 and 7.10 branches.
2011-01-04r600g: support up to 64 shader constantsAlex Deucher
From the r600 ISA: Each ALU clause can lock up to four sets of constants into the constant cache. Each set (one cache line) is 16 128-bit constants. These are split into two groups. Each group can be from a different constant buffer (out of 16 buffers). Each group of two constants consists of either [Line] and [Line+1] or [line + loop_ctr] and [line + loop_ctr +1]. For supporting more than 64 constants, we need to break the code into multiple ALU clauses based on what sets of constants are needed in that clause. Note: This is a candidate for the 7.10 branch. Signed-off-by: Alex Deucher <alexdeucher@gmail.com>