- Mar 25, 2009
-
-
Julien Cristau authored
-
Julien Cristau authored
The 2.6.28 kernel headers miss some compat defines.
-
- Mar 23, 2009
-
-
Julien Cristau authored
-
Julien Cristau authored
-
- Mar 20, 2009
-
-
Brian Paul authored
-
Brian Paul authored
-
Brian Paul authored
(cherry picked from master, commit 005ad1a7)
-
- Mar 18, 2009
-
-
Brian Paul authored
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 aad3f546)
-
Brian Paul authored
(cherry picked from commit 37c768b3)
-
Robert Ellison authored
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 29309b45)
-
Robert Ellison authored
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 6dceeb2e)
-
- Mar 17, 2009
-
-
Brian Paul authored
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 c334ce27)
-
- Mar 16, 2009
-
-
Ian Romanick authored
-
- Mar 14, 2009
-
-
Brian Paul authored
Plus fix up a debug printf. (cherry picked from commit 20f49252)
-
Brian Paul authored
glsl: fix vec4_texp_rect IR code (need projective version) (cherry picked from commit ad2cfa41)
-
Brian Paul authored
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 e60b3067)
-
Brian Paul authored
mesa: added _mesa_fprintf() wrapper (cherry picked from commit 596b8fbb)
-
Brian Paul authored
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 34858019)
-
Brian Paul authored
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 c51c822e)
-
Emma Anholt authored
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 19e13405)
-
Robert Ellison authored
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 34683150)
-
Brian Paul authored
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 97dd2ddb)
-
Robert Ellison authored
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 17c7852b)
-
Dave Airlie authored
Reported by cjb via tinderbox on irc (cherry picked from commit 487a55af)
-
Brian Paul authored
Use loops to consolidate lots of texture object code. (cherry picked from commit 9818734e)
-
Brian Paul authored
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 4d24b639)
-
Robert Ellison authored
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 0ccbc3c9)
-
Brian Paul authored
Fixes mysterious failures in glean glsl1 test. (cherry picked from commit da2b661e)
-
Kristian Høgsberg authored
The intelImage also holds a reference to the miptree, so unref that as well. (cherry picked from commit 5b354d39)
-
Emma Anholt authored
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 40dd024b)
-
Emma Anholt authored
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 01bc4d44 cleaned up some gratuitous flushing. (cherry picked from commit 078e8a61)
-
Emma Anholt authored
Everything other than "make sure the last rendering ends up visible on the screen" doesn't need that behavior. (cherry picked from commit 01bc4d44)
-
Emma Anholt authored
intel: don't crash when dri2 tells us about buffers we don't care about. (cherry picked from commit f82f1ffb)
-
Emma Anholt authored
Missed setting the initial values which usually didn't hurt at runtime. (cherry picked from commit 680c708d)
-
Emma Anholt authored
This is a 2% win in fbo_firecube, and would avoid a sw fallback for masked clears. (cherry picked from commit fd51cf15)
-
Emma Anholt authored
Noticed this with the fbotexture demo. (cherry picked from commit c06f4e2a)
-
Brian Paul authored
Fixes bad background in all the progs/glsl/ tests. (cherry picked from commit 60b3fe6c)
-
Emma Anholt authored
intel: Speed up glDrawPixels(GL_ALPHA) by using an alpha texture format. (cherry picked from commit 0b63f644)
-
Emma Anholt authored
Found while debugging cairo-gl. (cherry picked from commit d11981e0)
-
Emma Anholt authored
i965: Remove brw->attribs now that we can just always look in the GLcontext. (cherry picked from commit 052c1d66)
-