summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* i965: texture fixes: bordered textures, fallback renderingRobert Ellison2009-02-271-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.)
* gallium: fix state tracker's stencil buffer testBrian Paul2009-02-271-1/+1
| | | | | | | | Need to check ctx->DrawBuffer->Visual.stencilBits not ctx->Visual.stencilBits because the later only applies to the window system buffers, not user-created FBOs. This, plus the previous commit, fixes progs/tests/fbotexture.c
* gallium: add st_validate_framebuffer() driver functionBrian Paul2009-02-271-0/+20
| | | | | | Gallium only supports combined depth/stencil buffers, not separate ones. If the user tries to create create a FBO with separate depth/stencil renderbuffers mark the FBO as unsupported.
* util: set vbuf.max_index in draw_vertex_buffer()Keith Whitwell2009-02-271-0/+2
| | | | (cherry picked from commit 1350f2efba5eeceebe0e711db6152c29e9889ce7)
* softpipe: add dumping of post-tranfsormed vertices (disabled)Keith Whitwell2009-02-271-0/+33
|
* mesa: Fix and re-enable sparc normal asm.David Miller2009-02-272-17/+11
| | | | | | | | | | Fix a bug reported in 2003 :-) The output vector has 4 entries, not 3. Unconditionally emit .register directives. Signed-off-by: David S. Miller <[email protected]>
* mesa: Fix Sparc cliptest asm code and re-enable.David Miller2009-02-272-22/+11
| | | | | | | | | | | | | | Stop using register %g7 since that is used by the "system" (ie. the pthread implementation makes use of it). Also, the projection vector can be NULL and we shouldn't try to access it at all in _mesa_sparc_cliptest_points4_np(). ioquake3 would crash due to this bug. Finally, unconditionally emit the register directives and re-enable in _mesa_init_all_sparc_transform_asm(). Signed-off-by: David S. Miller <[email protected]>
* intel: Use flink for global buffer idsJakob Bornecrantz2009-02-273-6/+47
| | | | Also fix minor drm api change
* egl: Fix for minor api changeJakob Bornecrantz2009-02-271-1/+1
|
* st/drm: Seperate get handle for global buffer idsJakob Bornecrantz2009-02-271-3/+12
|
* mesa: Fix DEBUG_MATH build on sparc.David S. Miller2009-02-261-2/+2
| | | | | | | | | | Need to use '__asm__' instead of plain 'asm'. math/m_debug_clip.c: In function ‘test_cliptest_function’: math/m_debug_clip.c:253: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘asm’ math/m_debug_clip.c:253: warning: implicit declaration of function ‘asm’ Signed-off-by: David S. Miller <[email protected]>
* docs: add SPARC assembly updatesBrian Paul2009-02-261-0/+1
|
* intel: no-op the intel_finish_render_texture() functionBrian Paul2009-02-261-13/+10
| | | | It doesn't have to do anything. See comments for more details.
* intel: check texture formats in intel_validate_framebuffer()Brian Paul2009-02-261-0/+29
| | | | | | | | | We can't render into any texture format; only certain formats. Check that render-to-texture's format is renderable in the intel_validate_framebuffer() There seems to be a bug somewhere that causes rendering to rgb565 textures to be corrupted so disallow that for now. This will be revisted.
* intel: updated comment, some debug code (disabled)Brian Paul2009-02-261-3/+12
|
* i965: rename draw_regions -> color_regionsroot2009-02-264-20/+20
| | | | Be a little more specific about what these are.
* demos: add a fourth test case to VBO test for position/color in different VBOsBrian Paul2009-02-261-15/+74
|
* mesa: avoid extraneous calls to ctx->Driver.BindFramebuffer()Brian Paul2009-02-261-6/+13
| | | | Only call this driver function when we really need to bind different buffers.
* i965: add missing init for region->widthBrian Paul2009-02-261-1/+2
| | | | | This doesn't seem to really effect anything but seeing width=0 in drawing regions was confusing.
* mesa: replace old prog_instruction::Sampler field with Aux fieldBrian Paul2009-02-264-18/+12
| | | | | | The i965 driver needs an extra instruction field for color output information. It was using the Sampler field for this. Use the Aux field instead. This will probaby be revisited at some point...
* i965: whitespace/indentation fixesBrian Paul2009-02-261-28/+24
|
* mesa: Resurrect SPARC asm code.David S. Miller2009-02-269-1332/+891
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This rewrites the sparc GLAPI code so that it's PIC friendly and works with all of the TLS/PTHREADS/64-bit/32-bit combinations properly. As a result we can turn SPARC asm back on. Currently it's only enabled on Linux, as that's the only place where I can test this stuff out. For the moment the cliptest SPARC asm routines are disabled as they are non-working. The problem is that they use register %g7 as a temporary which is where the threading libraries store the thread pointer on SPARC. I will fix that code up in a future change as it's a pretty important routine to optimize. Like x86 we do the runtime patch as a pthread once-invoked initializer in init_glapi_relocs(). Unlike x86, however, our GLAPI stubs on SPARC are just two instruction sequences that branch to a trampoline and put the GLAPI offset into a register. The trampoline is what we run-time patch. The stubs thus all look like: glFoo: ba __glapi_sparc_foo_stub sethi GLAPI_OFFSET(glFOO) * PTR_SIZE, %g3 This actually makes generate_entrypoint() a lot simpler on SPARC. For this case in generate_entrypoint() we generate stubs using a 'call' instead of the 'ba' above to make sure it can reach. In order to get a proper tail call going here, in the unpatched case, we do several tricks. To get the current PC, for example, we save the return address register into a temporary, do a call, save the return address register written by the call to another temporary, then restore the original return address register value. This is to avoid having to allocate a stack frame. This is necessary for PIC address formation. This new GLAPI scheme lets us get rid of the ugly SPARC GLAPI hacks in __glXInitialize() and one_time_init(). Signed-off-by: David S. Miller <[email protected]>
* intel: Revert disable of accelerated Bitmap, which slipped in with spans stuff.Eric Anholt2009-02-261-2/+2
|
* Fix "cast to pointer from integer of different size"Tomas Carnecky2009-02-261-1/+1
| | | | | | | | | The script generates code like: pixels = (const GLvoid *) (ptr_is_null != 0) ? NULL : (pc + 80); which causes the above mentioned warning. Add parenthesis around the whole expression to fix it. Signed-off-by: Tomas Carnecky <[email protected]>
* i965: fix for RHW workaroundXiang, Haihao2009-02-262-43/+99
| | | | | | It is possible that an object whose vertices all are outside of a view plane is passed to clip thread due to the RHW workaround. This object should be rejected by clip thread. Fix bug #19879
* intel: Disable creating DRI2 FBconfigs with depth size != color size.Eric Anholt2009-02-261-1/+22
| | | | | | | | | | While it's a nice idea to be able to allow clients to choose a smaller (or bigger for 16bpp screens!) depth size, right now DRI2 hands back a buffer with a size that matches the drawable, rather than being based off of the visual. This led to problems in readback as parts of the driver disagreed on what format the depth buffer was really in. Fixes the remainder of bug #19447.
* intel: Add span code for z24 without stencil.Eric Anholt2009-02-261-2/+22
| | | | | | | | It seems that in this case the Mesa code is handing us x8z24 values instead of z24s8 values, so we need to not do the rotation. Fixes half of OGLconform depthrange.c. Bug #19447.
* intel: make template wrappers for the spans templates.Eric Anholt2009-02-254-189/+165
| | | | | This is insanity, but so is copying the same blocks containing the actual interesting code in the file three times each for the different tile formats.
* intel: Fix up x8r8g8b8 renderbuffer format so that alpha=1 spans code happens.Eric Anholt2009-02-252-1/+17
| | | | | | | | I was lured into a false sense of security by the fact that the spans code was already there, and a bunch of tests didn't catch the problem. oglconform's mask.c did, though. Bug #19970.
* autoconf: Fixup EGL buildDan Nicholson2009-02-252-0/+14
| | | | This gets the needed libraries pulled in for libEGL for autoconf.
* i965: Rename CMD_CONST_BUFFER_STATE to the CS_URB_STATE used in the docs.Eric Anholt2009-02-256-13/+14
|
* R300: Add support for RS600 chipsAlex Deucher2009-02-252-2/+12
|
* nouveau: nv04-nv40 texture transfer.Younes Manton2009-02-2535-452/+1242
|
* g3dvl: Update winsys stuff.Younes Manton2009-02-251-11/+6
|
* egl: remove compiler flags from CFLAGSBrian Paul2009-02-251-3/+1
| | | | The incoming CFLAGS already has -fPIC and -Wall. Don't want -g here either.
* egl: use new EGL_LIB_DEPS to pass library dependencies to mklib when ↵Brian Paul2009-02-252-3/+3
| | | | | | | building libEGL EGL_LIB_DEPS may need fine-tuning for some platforms. It's only defined in configs/default ATM.
* egl: add comment/reminder to fix the CFLAGS in this MakefileBrian Paul2009-02-251-0/+2
|
* gallium: Add support for BSD operating systems, tested with FreeBSDBenjamin Close2009-02-258-24/+32
| | | | | | | | | | BSD supports pipe in the same way as linux hence options which are safe for linux are also safe for BSD. Define PIPE_OS_BSD in include/pipe/p_config.h and adjust the defines to make use of it. Also define MAP_ANONYMOUS for BSD systems which use MAP_ANON Signed-off-by: Benjamin Close <[email protected]>
* gallium: Fix build when exiting CFLAGS contains a path with different gl.hBenjamin Close2009-02-251-2/+3
| | | | | | | | | | If a path is in CFLAGS when building and that path contains gl.h then the wrong gl.h is used when building. This can lead to very confusing errors. The solution is rather than postpend the CFLAGS we prepend the paths as expected allowing compilation to occur as intended Signed-off-by: Benjamin Close <[email protected]>
* egl: Use -dlopen rather than -dl which is non portableBenjamin Close2009-02-251-1/+1
| | | | Signed-off-by: Benjamin Close <[email protected]>
* egl: Allow compilation to succeed with FreeBSDBenjamin Close2009-02-251-1/+1
| | | | Signed-off-by: Benjamin Close <[email protected]>
* softpipe: minor code simplification for face/zslice offset calculationBrian Paul2009-02-241-7/+10
|
* cell: overhaul cell teximage codeBrian Paul2009-02-245-266/+119
| | | | | | Updated to use the new pipe_transfer functions, etc. Texturing is working again. Though there's some bugs in mipmap texturing but I believe those predate the pipe_transfer changes.
* cell: don't need tex transfer for drawing surfacesBrian Paul2009-02-241-30/+24
|
* mesa: Build DRI by default on Linux/sparcDavid S. Miller2009-02-241-1/+1
| | | | Signed-off-by: David S. Miller <[email protected]>
* intel: Adopt to the new drm_api.hJakob Bornecrantz2009-02-253-6/+8
|
* i915: Enable winsys to get buffer from textureJakob Bornecrantz2009-02-252-0/+31
|
* st/drm: Bring drm_api.h up to date with latest changesJakob Bornecrantz2009-02-251-4/+7
|
* i915: Fix some warningsJakob Bornecrantz2009-02-251-2/+0
|
* i915: Clean up i915_winsys.h a bitJakob Bornecrantz2009-02-254-15/+21
|