summaryrefslogtreecommitdiff
path: root/src/mesa/main
AgeCommit message (Collapse)Author
2009-03-12i965: fix polygon stipple when rendering to FBORobert Ellison
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.
2009-03-12mesa: fix transposed red/blue in store_texel_rgb888/bgr888() functionsBrian Paul
2009-03-12regenerate glapiRoland Scheidegger
2009-03-12mesa: add support for ATI_envmap_bumpmapRoland Scheidegger
add new entrypoints, new texture format, etc translate in texenvprogram.c for drivers using the mesa-generated tex env fragment program also handled in swrast, but not tested (cannot work due to negative texel results not handled correctly)
2009-03-12mesa: add missing _glthread_INIT_MUTEX in _mesa_new_framebuffer()Keith Whitwell
2009-03-11i965: fix polygon face orientation when rendering to FBORobert Ellison
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.
2009-03-11mesa: remove some last remnants of GL_MESA_program_debugBrian Paul
2009-03-11mesa: minor commentsBrian Paul
2009-03-11mesa: remove gl_texture_object::_Function field and associated codeBrian Paul
It was only used in one place in swrast.
2009-03-09mesa: reorder register file enumsBrian Paul
2009-03-07mesa: move shared context state functions to new shared.c fileBrian Paul
2009-03-07mesa: move glViewport and glDepthRange functions into new viewport.c fileBrian Paul
A bit of refactoring with an eye toward ES2 and GL 3.1
2009-03-07mesa: gl_register_file enum typedefBrian Paul
2009-03-07mesa: remove GL_MESA_program_debug extensionBrian Paul
This was never fully fleshed out and hasn't been used.
2009-03-07mesa: remove last of _mesa_unreference_framebuffer() callsBrian Paul
2009-03-06Add Solaris to OS'es using PROT_EXEC mmap() to get executable heap spaceAlan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
2009-03-06mesa: added _mesa_read_shader() function to read shaders from filesBrian Paul
Useful for debugging to override an application's shader.
2009-03-06mesa: Reads must also be done with lock held.José Fonseca
Otherwise two threads might think each made the refcount go zero.
2009-03-06mesa: Fix typo.José Fonseca
Windows threads block if one over-unlocks them.
2009-03-04mesa: call _mesa_get_cpu_features() during one-time-initBrian Paul
2009-03-04mesa: new cpuinfo.c file to init/query cpu info and extensionsBrian Paul
2009-03-04mesa: Follow ARB_map_buffer_range more stricly.José Fonseca
Namelly, FlushMappedBufferRange takes a subrange relative to the original range.
2009-03-03mesa: fix sw fallback state validation bugBrian Paul
When a hw driver fell back to swrast, swrast wasn't always getting informed of program changes. When fixed function is translated into shaders, flags like _NEW_LIGHT, _NEW_TEXTURE, etc. should really signal _NEW_PROGRAM. In this case, swrast wasn't seeing _NEW_PROGRAM when new fragment shaders were generated.
2009-03-03Merge commit 'origin/gallium-0.1'Keith Whitwell
Conflicts: scons/gallium.py src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c src/gallium/include/pipe/p_defines.h src/mesa/vbo/vbo_exec_api.c src/mesa/vbo/vbo_exec_draw.c
2009-03-03mesa: add MapBufferRange driver callbacksKeith Whitwell
Will be needed in coming GL extensions (GL_map_buffer_range, GL 3.0). Will be used by the vbo module to avoid reallocating vbo's at each draw primitive call.
2009-03-03mesa: Add BeginVertices driver callKeith Whitwell
Provides notification to the VBO modules prior to the first immediate call. Pairs with FlushVertices()
2009-03-02mesa: more tex image debug/dumping codeBrian Paul
2009-03-02mesa: move call to update_texture_compare_function()Brian Paul
Another conditional can be avoided.
2009-03-02mesa: fix texture enable regressionBrian Paul
Need to clear the _ReallyEnabled field before possibly continuing the loop. Also, set _Current pointer to NULL if the unit is no longer enabled. Fixes piglit lodbias regression
2009-03-02mesa: use _mesa_reference_texobj() when setting texUnit->Current pointerBrian Paul
Fixes piglit copytexsubimage regression.
2009-03-02mesa: don't draw arrays if vertex position array is not enabledBrian Paul
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.
2009-03-02mesa: remove warning/short-circuit of stencil enable w/ no stencil bufferBrian Paul
With FBOs one could enable stencil before a stencil buffer is later bound.
2009-03-02mesa: add ctx->Stencil._Enabled fieldBrian Paul
Only true if stenciling is enabled, and there's a stencil buffer.
2009-03-02mesa: fixed computation of _EnabledCoordUnitsBrian Paul
This field should not include vertex textures. It indicates the coord inputs for fragment / fixed-function processing.
2009-03-02mesa: clarify comments for per-unit texture bitfieldsBrian Paul
2009-03-02mesa: move texture_override() code into calling loopBrian Paul
We can avoid a few iterations this way.
2009-03-02mesa: move update_texture_compare_function() call out of loopBrian Paul
2009-03-02mesa: remove unused AUX buffersBrian Paul
Remove all references to aux buffers 1..3. Keep AUX0 around for now just in case, but it'll probably go too someday. I don't know of any OpenGL drivers since the IRIX days that support aux color buffers.
2009-02-28mesa: rename, reorder FRAG_RESULT_x tokensBrian Paul
s/FRAG_RESULT_DEPR/FRAG_RESULT_DEPTH/ s/FRAG_RESULT_COLR/FRAG_RESULT/COLOR/ Remove FRAG_RESULT_COLH (NV half-precision) output since we never used it. Next, we might merge the COLOR and DATA outputs (COLOR0, COLOR1, etc).
2009-02-28mesa: convert some #defines to enumsBrian Paul
This makes debugging with gdb a bit easier. Ex: (gdb) p ctx->DrawBuffer.Attachment[BUFFER_STENCIL] Note however that gdb only seems to recognize enum types that are actually used to declare a variable somewhere. For example, gl_buffer_index isn't used to declare any vars so it's invisible to gdb. Work around this by adding a dummy function in context.c that declares some vars with these new types.
2009-02-28mesa: move _GenFlags = 0x0 to texgen loopBrian Paul
2009-02-28mesa: move #include "bitset.h" out of mtypes.h - not needed in core MesaBrian Paul
2009-02-28mesa: Sparc's IROUND() optimization is invalid.David Miller
We can't use the "fstoi" instruction like this. Unlike other floating point instructions, "fstoi" always rounds towards zero no matter what rounding mode the FPU has been set to. This was validated using the following test program: -------------------- static inline int iround(float f) { int r; __asm__ ("fstoi %1, %0" : "=f" (r) : "f" (f)); return r; } #define IROUND(x) iround(x) #define IROUND_REF(f) ((int) (((f) >= 0.0F) ? ((f) + 0.5F) : ((f) - 0.5F))) int main(void) { float f = -2.0; while (f < 3.0f) { int sparc_val = IROUND(f); int ref_val = IROUND_REF(f); if (sparc_val != ref_val) printf("DIFFERENT[%f]: REF==%d SPARC==%d\n", f, ref_val, sparc_val); f += 0.1f; } return 0; } -------------------- which prints out things like: -------------------- DIFFERENT[-1.900000]: REF==-2 SPARC==-1 DIFFERENT[-1.800000]: REF==-2 SPARC==-1 DIFFERENT[-1.700000]: REF==-2 SPARC==-1 DIFFERENT[-1.600000]: REF==-2 SPARC==-1 DIFFERENT[-1.000000]: REF==-1 SPARC==0 DIFFERENT[-0.900000]: REF==-1 SPARC==0 DIFFERENT[-0.800000]: REF==-1 SPARC==0 DIFFERENT[-0.700000]: REF==-1 SPARC==0 DIFFERENT[-0.600000]: REF==-1 SPARC==0 DIFFERENT[0.500000]: REF==1 SPARC==0 DIFFERENT[0.600000]: REF==1 SPARC==0 ... -------------------- So we have to remove Sparc's IROUND() definition, it's wrong. Signed-off-by: David S. Miller <davem@davemloft.net>
2009-02-28mesa: move GLfixed type and related macros to swrast moduleBrian Paul
Fixed point is only used in swrast and sw-based drivers.
2009-02-28mesa: convert macro to inline functionBrian Paul
2009-02-28mesa: replace FEEDBACK_TOKEN macro with _mesa_feedback_token() inline functionBrian Paul
2009-02-28mesa: comments, whitespace, reformattingBrian Paul
2009-02-28mesa: remove dead codeBrian Paul
2009-02-28mesa: move gl_attrib_node struct to attrib.c tooBrian Paul
2009-02-28mesa: move gl_enable_attrib struct to attrib.c, the only place it's usedBrian Paul