Commit Graph

16268 Commits

Author SHA1 Message Date
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
Brian Paul 6045a6a908 mesa: more re-org of variable declarations in glsl compiler
(cherry picked from commit 49543d7177)
2009-01-06 09:13:54 -07:00
Brian Paul ceb800a107 mesa: more comments, clean up
(cherry picked from commit a1229cc9e7)
2009-01-06 09:13:30 -07:00
Brian Paul 5b5b05c894 mesa: added comments, remove unused code
(cherry picked from commit a66ff046cc)
2009-01-06 09:13:10 -07:00
Brian Paul be620a66eb mesa: checkpoint: handle uniform vars in _slang_gen_var_decl()
This allows uniform declarations with scalar/array initializers.
The code is rough though, and will be cleaned up.

(cherry picked from commit aa1b904636)
2009-01-06 09:12:52 -07:00
Brian Paul d0a39f3d65 mesa: place glsl constant arrays in constant memory
For example, a declaration like
   const float[3] xxx = float[3](1.1, 2.2, 3.3);
will place the array in the constant buffer whereas a regular, non-const array
would be placed in the temporary register file.
Next up: do the same thing for uniform arrays.
2009-01-06 09:12:19 -07:00
Brian Paul 7f0462abe7 mesa: remove old size=4 limit
(cherry picked from commit 0da44c62cc)
2009-01-06 09:12:00 -07:00
Brian Paul e153275ae8 mesa: code clean-up in glsl compiler
(cherry picked from commit d4be09fb2b)
2009-01-06 09:11:52 -07:00
Brian Paul 70050191ed mesa: remove unneeded swizzle init code in glsl compiler
(cherry picked from commit 240e211c71)
2009-01-06 09:11:40 -07:00
Brian Paul 9d6804bd28 mesa: disable glsl debug output
(cherry picked from commit 4d49fc83f1)
2009-01-06 09:11:20 -07:00
Brian Paul ceaf57524b mesa: remove unused varpool code in glsl compiler
(cherry picked from commit 81253be334)
2009-01-06 09:11:08 -07:00
Brian Paul 71ef9e3775 mesa: basic array constructors work now
For example: float[3] xxx = float[3](1.1, 2.2, 3.3);

Optimizations for const-qualified arrays next.

(cherry picked from commit 5c0c5e5af9)
2009-01-06 09:10:59 -07:00
Brian Paul ae701a1201 mesa: copy array_len in slang_fully_specified_type_copy()
(cherry picked from commit c20d00f04b)
2009-01-06 09:10:44 -07:00
Brian Paul 91535b8a61 mesa: remove incorrect array_len assignment
(cherry picked from commit 9016331d0f)
2009-01-06 09:10:35 -07:00
Brian Paul a2ca0c0430 mesa: array size fix in _slang_typeof_operation()
(cherry picked from commit 87a00959ba)
2009-01-06 09:10:21 -07:00
Brian Paul 47331842d4 mesa: fix some more GLSL 1.20 array things.
Function that return arrays should work now.

(cherry picked from commit 8571401d7d)
2009-01-06 09:10:09 -07:00
Brian Paul 3d7d6cfbc2 mesa: more glsl function renaming
(cherry picked from commit d5367622a3)
2009-01-06 09:09:56 -07:00
Brian Paul 18dd05fbc5 mesa: use _slang_alloc()
(cherry picked from commit b4019483de)
2009-01-06 09:09:47 -07:00