summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2009-03-26 Mark current bits as 2009Q1-RC2 for Intel driver.intel_2009q1_rc2Ian Romanick1-1/+1
2009-03-26i965: Fix glFrontFacing in twoside GLSL demo.Eric Anholt8-38/+79
This also cuts instructions by just using the existing bit in the payload rather than computing it from the determinant in the SF unit and passing it as a varying down to the WM. Something still goes wrong with getting the backface color right, but a simpler shader appears to get the right result. (cherry picked from commit 699db6d842c52d0b3b98b320f8ef1104a65fa783)
2009-03-26i965: Fix fog coordinate g,b,a values when glFrontFacing isn't used.Eric Anholt1-0/+50
Previously, we would sample (f,glFrontFacing,undef,undef) instead of the (f,0,0,1) that fragment.fogcoord is supposed to return. Due to glFrontFacing's presence in FOGC.y, we'll still give bad results there when glFrontFacing is used. Bug #19122, piglit testcase fp-fog. (cherry picked from commit 411d913ccea362dbd75411266d7abb685214ee93)
2009-03-26i965: Clean up a bit of mess with unneeded variables in emit_interp.Eric Anholt1-7/+2
(cherry picked from commit b013f945d8514ed827183a4cbfbc4dccc100704f)
2009-03-26i965: separate emit_op() and emit_tex_op() functionsBrian Paul1-49/+63
(cherry picked from commit a79186e29efebed04c927d024b013435e7ff5725)
2009-03-26i965: minor clean-up, comments, etc.Brian Paul1-15/+31
(cherry picked from commit 9e7903e492ad842481a166484e0474dd4f3100ba)
2009-03-25docs: mention Solaris updates in release notesBrian Paul1-0/+1
2009-03-25mesa: bump version to 7.4 rc2mesa_7_4_rc2Brian Paul2-2/+2
2009-03-25define __builtin_expect for non-gcc compilers in two more glx filesAlan Coopersmith2-0/+8
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
2009-03-25mklib improvements for SolarisAlan Coopersmith2-23/+38
Move flags for linking standard C/C++ libraries from configure.ac to mklib Use -norunpath flag when linking with Sun C++ compiler Convert mklib -exports list into a linker mapfile Set FINAL_LIBS correctly when -noprefix is used Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
2009-03-25Revert "dri2: Avoid round-tripping on DRI2GetBuffers for the same set of ↵Michel Dänzer2-53/+0
buffers." This scheme breaks when the display connection doesn't receive ConfigureNotify events. This caused reporoducible problems (cropped / misplaced output) when starting a 3D application in a guest operating system in VMware Workstation. This reverts commit dd1c68f15123a889a3ce9d2afe724e272d163e32. Conflicts: src/glx/x11/dri2_glx.c (cherry picked from commit 11da7e02aa3dba192aa3d95e9debec620133a41c)
2009-03-25docs: update glext.h to version 48Brian Paul1-1/+1
2009-03-25gl: update include/GL/glext.h to version 48Brian Paul1-10/+52
2009-03-24demos: add LDFLAGS for corender target, bug 20844Brian Paul1-1/+1
(cherry picked from commit c4c4358e0858fcbc09f4bf35d93f593af5bcd9db)
2009-03-23i965: Fix occlusion query when no other WM state updates occur.Eric Anholt1-2/+3
Turns out that XXX comment was important. We weren't flagging the WM to re-update with the statistics enable, so we got zeroes out of our query. Bug #20740, fixes piglit occlusion_query test. Signed-off-by: Eric Anholt <eric@anholt.net> (cherry picked from commit c0d6e07909733af054cc592e2cfc6212155b0a9e)
2009-03-23mesa: fix _glxapi_get_proc_address() for mangled namesTom Fogal1-0/+5
(cherry picked from commit 7399d56ec6019e00297eef57f802a53698baa8ad)
2009-03-23glapi: update find_entry() for mangled namesBrian Paul1-1/+7
(cherry picked from commit 4447fddc82a2c0245e798c90492293d875d186d0)
2009-03-23mesa: regenerated gl_mange.h fileBrian Paul1-0/+298
(cherry picked from commit fe0ccf323daba2a5e2f0d9936477c73db044190a)
2009-03-23mesa: remove unused 'out' labelBrian Paul1-1/+0
2009-03-23Add Solaris to OS'es using PROT_EXEC mmap() to get executable heap spaceBrian Paul1-1/+1
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com> (cherry picked from master, commit a06dd4de8756d7ebe99ed414c8d8dca5083241b8)
2009-03-20docs: prep for 7.4 releasemesa_7_4_rc1Brian Paul2-2/+9
2009-03-20mesa: prep for 7.4-rc1 releaseBrian Paul2-5/+6
2009-03-20r300: don't crash on sw tcl hw if point size vertex attrib is sentBrian Paul1-2/+2
(cherry picked from master, commit 005ad1a71d8de318a69ba18d896677d89602e0db)
2009-03-18mesa: avoid setting texObj->_Complete = GL_FALSE when there's no state changeBrian Paul1-31/+37
Avoid a little bit of unneeded state validation and fixes a bug where the texture complete flags was set to false, but we didn't signal _NEW_TEXTURE. Fixes piglit tex1d-2dborder failure. (cherry picked from commit aad3f546a046fe40b771e5d5f965b29189821d51)
2009-03-18mesa: add no-change testing for a few more texture parametersBrian Paul1-9/+21
(cherry picked from commit 37c768b36aad22ecad48c7caab272354383e26a7)
2009-03-18i965: fix polygon stipple when rendering to FBORobert Ellison2-7/+34
The polygon stipple pattern, like the viewport and the polygon face orientation, must be inverted on the i965 when rendering to a FBO (which itself has an inverted pixel coordinate system compared to raw Mesa). In addition, the polygon stipple offset, which orients the stipple to the window system, disappears when rendering to an FBO (because the window system offset doesn't apply, and there's no associated FBO offset). With these fixes, the conform triangle and polygon stipple tests pass when rendering to texture. (cherry picked from commit 29309b45b011b4c44721b8f7346272fb22a4d4c2)
2009-03-18i965: fix polygon face orientation when rendering to FBORobert Ellison2-4/+18
In the i965, the FBO coordinate system is inverted from the standard OpenGL/Mesa coordinate system; that means that the viewport and the polygon face orientation have to be inverted if rendering to a FBO. The viewport was already being handled correctly; but polygon face was not. This caused a conform failure when rendering to texture with two-sided lighting enabled. This fixes the problem in the i965 driver, and adds to the comment about the gl_framebuffer "Name" field so that this isn't a surprise to other driver writers. (cherry picked from commit 6dceeb2eb804d708639d68a13a924d65f366458a)
2009-03-17swrast: use better _swrast_compute_lambda() functionBrian Paul1-6/+6
The MAX-based function can produce values that are non-monotonic for a span which causes glitches in texture filtering. The sqrt-based one avoids that. This is perhaps slightly slower than before, but the difference probably isn't noticable given we're doing software mipmap filtering. Issue reported by Nir Radian <nirr@horizonsemi.com> (cherry picked from master, commit c334ce273e946733928339b1c7f9a02ccdef1b4b)
2009-03-16Mark current bits as 2009Q1-RC1 for Intel driver.intel_2009q1_rc1Ian Romanick1-1/+1
2009-03-13i965: init dest reg CondMask = COND_TR (the proper default)Brian Paul1-3/+2
Plus fix up a debug printf. (cherry picked from commit 20f49252e1fe2e72bb620c26292f33d5315452a1)
2009-03-13glsl: fix vec4_texp_rect IR code (need projective version) (cherry picked ↵Brian Paul1-1/+1
from commit ad2cfa41992d0676881440596c43ab6021c1b025)
2009-03-13i965: check if we run out of GRF/temp registersBrian Paul1-2/+26
Before this change we would up emitting instructions with invalid register numbers. This typically (but not always) hung the GPU. For now, just prevent emitting bad instructions to avoid hangs. Still need to do some kind of proper error recovery. (cherry picked from commit e60b3067d81319236d63ad497e70658fd2e14eb3)
2009-03-13mesa: added _mesa_fprintf() wrapper (cherry picked from commit ↵Brian Paul2-1/+17
596b8fbbbf65cef227ce60216a57d4bbfd627099)
2009-03-13i965: fix emit_math1() function used for scalar instructionsBrian Paul1-9/+32
Instructions such as RCP, RSQ, LOG must smear the result of the function across the dest register's X, Y, Z and W channels (subject to write masking). Before this change, only the X component was getting written. Among other things, this fixes cube map texture sampling in GLSL shaders (since cube lookups involve normalizing the texcoord). (cherry picked from commit 348580197802406fc36219dc3f1ab90fbb8f4717)
2009-03-13i965: rewrite the code for handling shader subroutine callsBrian Paul6-64/+187
Previously, the prog_instruction::Data field was used to map original Mesa instructions to brw instructions in order to resolve subroutine calls. This was a rather tangled mess. Plus it's an obstacle to implementing dynamic allocation/growing of the instruction buffer (it's still a fixed size). Mesa's GLSL compiler emits a label for each subroutine and CAL instruction. Now we use those labels to patch the subroutine calls after code generation has been done. We just keep a list of all CAL instructions that needs patching and a list of all subroutine labels. It's a simple matter to resolve them. This also consolidates some redundant post-emit code between brw_vs_emit.c and brw_wm_glsl.c and removes some loops that cleared the prog_instruction::Data fields at the end. Plus, a bunch of new comments. (cherry picked from commit c51c822ee02cb47ddba46da668577d51b7c02831)
2009-03-13intel: Fix bpp setting of blits to 8bpp targets.Eric Anholt1-0/+2
This was causing hangs in cairogears, as we would blit to the 8bpp target (A8 texture) as 16bpp, and stomp over state objects. (cherry picked from commit 19e134051c1025bbfe3838108492d705ab2b5b8b)
2009-03-13i965: add software fallback for conformant 3D textures and GL_CLAMPRobert Ellison4-10/+40
The i965 hardware cannot do GL_CLAMP behavior on textures; an earlier commit forced a software fallback if strict conformance was required (i.e. the INTEL_STRICT_CONFORMANCE environment variable was set) and 2D textures were used, but it was somewhat flawed - it could trigger the software fallback even if 2D textures weren't enabled, as long as one texture unit was enabled. This fixes that, and adds software fallback for GL_CLAMP behavior with 1D and 3D textures. It also adds support for a particular setting of the INTEL_STRICT_CONFORMANCE environment variable, which forces software fallbacks to be taken *all* the time. This is helpful with debugging. The value is: export INTEL_STRICT_CONFORMANCE=2 (cherry picked from commit 34683150878e0af0859c94d0c1f0c4bf8395b042)
2009-03-13mesa: don't draw arrays if vertex position array is not enabledBrian Paul1-3/+12
For regular GL, we must have vertex positions in order to draw. But ES2 doesn't have that requirement (positions can be computed from any array of data). See bug 19911. (cherry picked from commit 97dd2ddbd97ba95e8bc8ab572ec05e8081556e1e)
2009-03-13i965: texture fixes: bordered textures, fallback renderingRobert Ellison1-3/+31
i965 doesn't natively support GL_CLAMP; it treats it like GL_CLAMP_TO_EDGE, which fails conformance tests. This fix adds a clause to the check_fallbacks() test to check whether GL_CLAMP is in use on any enabled 2D texture. If so, and if strict conformance is required (via INTEL_STRICT_CONFORMANCE), a software fallback is mandated. In addition, validate textures *before* checking for fallbacks, rather than after; otherwise, the texture state is never validated and can't be trusted. (In particular, if texturing is enabled and the sampler would access any level beyond level 0 of a texture, the sampler will segfault, because texture validation sets the firstLevel and lastLevel fields of a texture object so that the valid levels will be mapped and accessed correctly. If texture validation doesn't occur, only level 0 is accessed correctly, and that only because firstLevel and lastLevel happen to be set to 0.) (cherry picked from commit 17c7852bf93c4d4edf0c2cf0bdc553d399e2f51a)
2009-03-13texmem: fix typo from brianp's changes.Dave Airlie1-1/+1
Reported by cjb via tinderbox on irc (cherry picked from commit 487a55af7864a3b16531af5481aab7f585622e4a)
2009-03-13mesa: use an array for current texture objectsBrian Paul15-264/+168
Use loops to consolidate lots of texture object code. (cherry picked from commit 9818734e0148510967ca9ee0d1aa8b196b509f02)
2009-03-13mesa: use an array for default texture objectsBrian Paul4-90/+72
Replace Default1D/2D/3D/Cube/etc with DefaultTex[TEXTURE_x_INDEX]. The same should be done with the Current1D/2D/3D/etc pointers... (cherry picked from commit 4d24b639d160fe485a3e8f7395e7654538be29e0)
2009-03-13Fix an i965 assertion failure on glClear()Robert Ellison1-1/+1
While running conform with render-to-texture: conform -d 33 -v 2 -t -direct the i965 driver failed this assertion: intel_clear.c:77: intel_clear_tris: Assertion `(mask & ~((1 << BUFFER_BACK_LEFT) | (1 << BUFFER_FRONT_LEFT) | (1 << BUFFER_DEPTH) | (1 << BUFFER_STENCIL))) == 0' failed. The problem is that intel_clear_tris() is called by intelClear() to clear any and all of the available color buffers, but intel_clear_tris() actually only handles the back left and front left color buffers; so the assertion fails as soon as you try to clear a non-standard color buffer. The fix is to have intelClear() only call intel_clear_tris() with buffers that intel_clear_tris() can support. intelClear() already backs down to _swrast_Clear() for all buffers that aren't handled explicitly. (cherry picked from commit 0ccbc3c905f0594a35d72887a1f115e148aaa596)
2009-03-13intel: fix datatype typo, s/GLboolean/GLuint/Brian Paul1-1/+1
Fixes mysterious failures in glean glsl1 test. (cherry picked from commit da2b661ee45a2754bab06359477428ef7df570ca)
2009-03-13intel: Fix intelSetTexBuffer miptree leak.Kristian Høgsberg1-2/+7
The intelImage also holds a reference to the miptree, so unref that as well. (cherry picked from commit 5b354d39d466e3a463c6766fe06f737aa6e6b7bd)
2009-03-13intel: tell libdrm whether we want a cpu-ready or gpu-ready BO for regions.Eric Anholt7-13/+27
This lets us avoid allocing new buffers for renderbuffers, finalized miptrees, and PBO-uploaded textures when there's an unreferenced but still active one cached, while also avoiding CPU waits for batchbuffers and CPU-uploaded textures. The size of BOs allocated for a desktop running current GL cairogears on i915 is cut in half with this. Note that this means we require libdrm 2.4.5. (cherry picked from commit 40dd024be618d805b3744e15d25e115018641324)
2009-03-13i965: Fix render target read domains.Eric Anholt1-2/+1
We were asking for something illegal (write_domain != 0 && read_domains != write_domain) because at the time of writing the region surfaces were used for texturing occasionally as well, and we weren't really clear on the model GEM was going to use. This reliably triggered a kernel bug with domain handling, resulting in oglconform mustpass.c failure. Of course, it only became visible after 01bc4d441fd6821ad9fc20d5e9544e4e587e4ff0 cleaned up some gratuitous flushing. (cherry picked from commit 078e8a61b2aa547c6794f586a5c8bfaa575bb066)
2009-03-13intel: Don't do the extra MI_FLUSH in flushing except when doing glFlush().Eric Anholt1-5/+17
Everything other than "make sure the last rendering ends up visible on the screen" doesn't need that behavior. (cherry picked from commit 01bc4d441fd6821ad9fc20d5e9544e4e587e4ff0)
2009-03-13intel: don't crash when dri2 tells us about buffers we don't care about. ↵Eric Anholt1-0/+3
(cherry picked from commit f82f1ffba9f2e5971a6a3f3927ae3b22b798bab2)
2009-03-13dri2: Initialize variables for the getbuffers round-trip reduction.Eric Anholt1-0/+2
Missed setting the initial values which usually didn't hurt at runtime. (cherry picked from commit 680c708deeb4d18474cf7ba86c587dede51d3633)