summaryrefslogtreecommitdiff
path: root/src/mesa/main
AgeCommit message (Collapse)Author
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
2009-02-28mesa: lots of updated comments, formatting clean-upsBrian Paul
2009-02-27mesa: set bufObj->Pointer = NULL after unmappingBrian Paul
Also, ctx->Driver.UnmapBuffer can never be null, so remove conditional.
2009-02-27mesa: if a buffer object is mapped when glDeleteBuffers() is called, unmap itBrian Paul
2009-02-27mesa: updated commentsBrian Paul