Commit graph

16285 commits

Author SHA1 Message Date
Keith Whitwell
c4d1f4607a vbo: use MapBufferRange where available
Previously would have to allocate a new VBO after firing a draw command
as subsequent call to Map() on old VBO might block if the driver had
submitted the commands to hardware.
2009-03-03 10:46:12 +00:00
Keith Whitwell
eb8a1d9642 mesa: add MapBufferRange driver callbacks
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-03 10:44:35 +00:00
Keith Whitwell
c64a2b7089 mesa: Add BeginVertices driver call
Provides notification to the VBO modules prior to the first immediate call.
Pairs with FlushVertices()
2009-03-03 10:41:57 +00:00
José Fonseca
050ce17799 pipebuffer: Cleanup code & comments. 2009-03-02 17:45:35 +00:00
José Fonseca
fe64aa0c8e pipebuffer: Handle PIPE_BUFFER_USAGE_DONTBLOCK flag.
Conflicts:

	src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c
2009-03-02 17:35:28 +00:00
José Fonseca
cfc3d5c219 gallium: New PIPE_BUFFER_USAGE_DONTBLOCK flag.
To prevent blocking when mapping a buffer.
2009-03-02 17:33:25 +00:00
José Fonseca
2c1d40a051 pipebuffer: Wait for the GPU to finish reading too.
No real change, as we're not tracking relocations read/write access yet.
2009-03-02 17:32:37 +00:00
José Fonseca
802a5ff507 pipebuffer: Remove unused var. 2009-03-02 17:19:12 +00:00
Michal Krol
9d49fb4f29 tgsi: More descriptive sanity diagnostic messages. 2009-02-28 15:09:43 +01:00
José Fonseca
34e719c9b3 scons: Don't build the DRI drivers in a seperate dir.
DRI drivers can be build side by side with other non-DRI drivers, therefore
there is no need to build gallium twice.
2009-02-26 13:45:47 +00:00
José Fonseca
af3ab2d9f3 scons: Use a cache for built files.
Like ccache, but works on all OSes.
2009-02-26 13:43:44 +00:00
José Fonseca
60e35ebf14 python: More efficient blits from surfaces.
C code instead of interpreted python code.
2009-02-20 16:50:02 +00:00
José Fonseca
7738855988 util: Use a checkboard pattern instead of asserting for unknown formats.
Useful to replay traces which use DXTC textures...
2009-02-20 16:48:45 +00:00
José Fonseca
059d7f3103 python/interpreter: Don't do unnecessary updates. 2009-02-20 15:23:33 +00:00
José Fonseca
e92f3310fa python/retrace: Verbosity level. 2009-02-20 15:14:15 +00:00
José Fonseca
204526a6d2 python/retrace: Cope with python 2.4.x 2009-02-20 15:02:19 +00:00
José Fonseca
7887a3e42b python: Pass a zero offset to util_draw_vertex_buffer. 2009-02-20 13:00:13 +00:00
José Fonseca
43b31fc6fc util: Support PIPE_FORMAT_Z32_FLOAT in pipe_tile_raw_to_rgba 2009-02-19 12:56:56 +00:00
José Fonseca
7c12e1aa53 pipebuffer: Dump debugging info for fenced buffer list. 2009-02-18 15:12:16 +00:00
José Fonseca
46728037a0 scons: Produce map files for debug builds too. 2009-02-18 15:05:23 +00:00
José Fonseca
c7431552c0 pipebuffer: Don't retry to alloc memory block on mm.
It will give the same result 2nd time too, as fencing is done at a
higher level.
2009-02-18 10:25:04 +00:00
Keith Whitwell
8ef377d76b draw: Reuse xmm registers. 2009-02-17 21:45:54 +00:00
Brian Paul
a719d70474 glsl: make minimum struct size = 2, not 1
1-component structs such as "struct foo { float x; }" could get placed at
any position within a register.  This caused some trouble computing the
field offset which assumed all struct objects were placed at R.x.
It would be unusual to hit this case in normal shaders.

(cherry picked from master, commit ca03e881a8)
2009-01-09 10:11:09 -07:00
Brian Paul
630b6e896b glsl: fix typo in the vec2 += operator function 2009-01-08 17:24:42 -07:00
Brian Paul
1efbad7499 glsl: fix broken +=, -=, *=, /= operators
These functions need to return the final computed value.
Now expressions such as a = (b += c) work properly.
Also, no need to use __asm intrinsics in these functions.  The resulting
code is the same when using ordinary arithmetic operators and is more legible.
2009-01-08 15:52:06 -07:00
José Fonseca
f8f9a1b620 mesa: Add _mesa_snprintf.
On Windows snprintf is renamed as _snprintf.
2009-01-07 12:02:06 +00:00
Brian Paul
a055520bfb add GL_READ_FRAMEBUFFER_BINDING_EXT case, regenerate get.c file
(cherry picked from commit 816fbeaa81)

Conflicts:

	src/mesa/main/get.c
2009-01-06 14:23:07 -07:00
Brian Paul
d14d494dcd mesa: fix GL_DEPTH_CLEAR_VALUE casting 2009-01-06 14:21:27 -07:00
Brian
c3be5e4a05 mesa: fix cast/conversion for optional code
(cherry picked from commit 1e3a44fab0)
2009-01-06 14:18:57 -07:00
Brian Paul
bec14ebf5e mesa: fix float->int mapping for glGetIntegerv(GL_DEPTH_CLEAR_VALUE)
(cherry picked from commit 8124faf89d)

Conflicts:

	src/mesa/main/get.c
2009-01-06 14:18:45 -07:00
Brian Paul
22ff5a7a0b mesa: pass ctx to link_uniform_vars() to fix build error 2009-01-06 14:04:17 -07:00
José Fonseca
3740a06e28 mesa: Move var declaration to top of scope. 2009-01-06 19:18:13 +00:00
José Fonseca
5da0401398 wgl: Do not provide DllMain inside the state tracker.
MS CRT libraries already provide a default DllMain entrypoint, and
MS Linker will complain if it finds the same symbol in two different
libraries. Therefore the DllMain has to be in (each) winsys.
2009-01-06 18:23:17 +00:00
José Fonseca
a40ad7ded4 gdi: Fix warning. 2009-01-06 18:23:16 +00:00
José Fonseca
c3ead57feb wgl: Ensure public symbols get the proper DLL linkage attributes. 2009-01-06 18:23:16 +00:00
José Fonseca
f98f553c4c glut: Fix build. 2009-01-06 18:23:16 +00:00
José Fonseca
3f46389a28 mesa: Ensure gl* symbols are marked as dllexport on windows. 2009-01-06 18:23:16 +00:00
José Fonseca
26ba5ce0e8 scons: Choose the appropriate MSVC CRT. 2009-01-06 18:23:16 +00:00
José Fonseca
4ebb8f78e7 mesa: Use explicit casts when precision is lost.
Silences MSVC.
2009-01-06 18:23:16 +00:00
Brian Paul
fb45adeb9e mesa: fix a GLSL swizzled writemask bug
This fixes cases such as:
  vec4 v4;
  vec2 v2;
  v4.xz.yx = v2;
The last line now correctly compiles into MOV TEMP[1].xz, TEMP[0].yyxw;
Helps to fix the Humus Domino demo.  See bug 19189.

(cherry picked from commit 9736d8f033)
2009-01-06 09:22:32 -07:00
Brian Paul
0e25c363be mesa: fix warning about possibly undefined var in GLSL compiler
(cherry picked from commit 724ed5b84b)
2009-01-06 09:21:24 -07:00
Brian Paul
8e0b601e31 mesa: fix another "out of samplers" problem
Now only the samplers that are actually used by texture() functions are
saved in the uniform variable list.  Before, we could run out of samplers
if too many were declared while only some of them were actually used.

(cherry picked from commit 1fad6ccb75)

Conflicts:

	src/mesa/shader/slang/slang_link.c
2009-01-06 09:20:55 -07:00
Brian Paul
7bfe6a9375 mesa: updated comments about GLSL constants
(cherry picked from commit dfada459aa)
2009-01-06 09:18:55 -07:00
Brian Paul
158d3febd8 mesa: fix bug in evaluation of structure fields
Fixes incorrect size information.  See bug 19273.

(cherry picked from commit e8d7db31e2)
2009-01-06 09:18:25 -07:00
Brian Paul
b66fe32c52 mesa: allow variable indexing into the predefined uniform variable arrays
This allows code such as "vec4 a = gl_LightSource[i].ambient;" to work.

When a built-in uniform array is indexed with a variable index we need to
"unroll" the whole array into the parameter list (aka constant buffer) because
we don't know which elements may be accessed at compile-time.  In the case of
the gl_LightSource array of size [8], we emit 64 state references into the
parameter array (8 elements times 8 vec4s per gl_LightSourceParameters
struct).

Previously, we only allowed constant-indexed references to uniform arrays
(such as gl_LightSource[2].position) which resulted in a single state reference
being added to the parameter array, not 64.  We still optimize this case.

Users should be aware that using "gl_LightSource[i].ambient" in their shaders
is a bit expensive since state validation will involve updating all 64
light source entries in the parameter list.

(cherry picked from commit c6537ac8b8)
2009-01-06 09:18:08 -07:00
Brian Paul
efe91b0000 mesa: better error message when running out of GLSL samplers
(cherry picked from commit ca0540e25c)
2009-01-06 09:17:53 -07:00
Brian Paul
681ff412f9 mesa: disable debug output
(cherry picked from commit 3be8d6db9e)
2009-01-06 09:15:16 -07:00
Brian Paul
c2009111cc mesa: fix some GLSL array regressions
array.length() wasn't working.
Swizzle mask for accessing elements of float arrays was incorrect.

(cherry picked from commit 368df1615e)
2009-01-06 09:14:56 -07:00
Brian Paul
2ced2647fb mesa: updated GLSL docs
(cherry picked from commit c4341fe80a)
2009-01-06 09:14:39 -07:00
Brian Paul
c18860ad1c mesa: bump glsl grammar revision
And update some copyrights.

(cherry picked from commit 4561307a27)
2009-01-06 09:14:21 -07:00