Thomas Hellstrom
fe9fef2cec
i915tex: Fix randr resizing. Rotation still broken.
2007-01-23 09:06:21 +01:00
Ben Skeggs
60c28739aa
nouveau: DPH and CMP for NV40 which doesn't do it natively.
2007-01-23 16:25:25 +11:00
Ben Skeggs
cf33bcf0b2
nouveau: allow for card-specific shader infos to be kept
...
NV30/40 fragprog: build FP_CONTROL per-shader, still some hardcoded bits for
this reg.. It looks like it has to do with the number of
temps used, but needs more looking at.
NV40 vtxprog : build VP_IN_REG/VP_OUT_REG during shader compile
2007-01-23 16:07:12 +11:00
Ben Skeggs
a8b9d13f74
nouveau: fill in condition info for instructions
2007-01-23 13:36:45 +11:00
Ben Skeggs
ed69205684
nouveau: unbreak nv40
2007-01-23 11:06:16 +11:00
Ben Skeggs
50227f6fd2
nouveau: reindent shader pass0/pass2
...
if this gets rejected by the commit list, just ignore it..
nothing interesting to see here :)
2007-01-23 10:54:54 +11:00
Ben Skeggs
c3ac270996
nouveau: start converting shaders into a tree format again..
...
No branching stuff implemented yet. Works enough for gears, probably
other stuff broken.
2007-01-23 10:54:54 +11:00
Jeremy Kolb
95fc270b06
Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/mesa
2007-01-21 20:47:10 -05:00
Jeremy Kolb
ea441355d3
nouveau: Fixes for nv30.
2007-01-21 20:30:31 -05:00
Stephane Marchesin
d1f0a55af4
nouveau: fix some bugs in the nv10 swtcl.
2007-01-22 00:12:05 +01:00
Brian
bc5d480e2c
added shading.html link
2007-01-21 10:37:25 -07:00
Stephane Marchesin
3c0961d299
nouveau: add nv04 state support, and small nv04 fixes.
2007-01-21 04:06:57 +01:00
Ben Skeggs
4f800c5bac
nouveau: rename pass0_arb to pass0.
...
I was expecting to have 2 frontends for the shader code (asm, glsl).
With Brian's work on GLSL this is unnecessary :)
2007-01-21 09:48:33 +11:00
Ben Skeggs
029b81742a
nouveau: kill off shader pass1.
...
It sucks, and we have someone who can do a much better job than I can starting
work on it soon. alloc_temp/free_temp is left in pass2 to workaround fragprog
temps/outputs overlapping, but this all belongs in the optimiser.
2007-01-21 09:31:00 +11:00
Ben Skeggs
ee3d0617f9
nouveau: shader backend branching support for all cards that support it.
2007-01-21 09:13:27 +11:00
Brian
9595d1935c
Added a page with shading language status, tips, etc.
2007-01-20 13:40:57 -07:00
Brian
059e901446
Add a simple mechanism for annotating instructions for easier debugging.
2007-01-20 10:47:10 -07:00
Brian
f116fcc328
optimization: emit MAD instructions when possible
2007-01-20 09:46:02 -07:00
Brian
1f208c3546
remove unused swizzle parameter to -storage_to_src_reg()
2007-01-20 09:29:04 -07:00
Brian
5ae49cf3ed
Initial implementation of OPCODE_IF/ELSE/ENDIF instructions.
2007-01-20 09:27:40 -07:00
Brian
a3e938b8da
Reimplement && and || to do short-circuit evaluation.
...
Improved shader error handling.
2007-01-20 09:22:13 -07:00
Brian
9f07ed00e4
rewrite more __postIncr functions
2007-01-20 07:56:00 -07:00
Brian
3cec66512d
Implement do/while loops. Replace IR_CJUMP with IR_CJUMP0 and IR_CJUMP1 so
...
we can either jump on zero, or non-zero predicate.
2007-01-19 13:13:15 -07:00
Brian
eff9690351
Rewrite normalize(vec3/vec4) to use one less register.
2007-01-19 12:19:38 -07:00
Brian
dceae2829e
report error message when something fails
2007-01-19 12:02:31 -07:00
Brian
203946e1f9
print error msg when there's a problem
2007-01-19 12:02:06 -07:00
Brian
74b27674a8
remove stray tab
2007-01-19 10:31:52 -07:00
Brian
a0092c51b1
Implement fragment discard/kill.
2007-01-19 10:15:34 -07:00
Brian
8374ccb66f
change while-loop to create new scope for loop body, per spec
2007-01-19 10:02:58 -07:00
Ben Skeggs
669fefd3da
nouveau: bump drm patchlevel
2007-01-19 15:39:36 +11:00
Brian
16183e6430
Implement constant sharing so that 4 float constants can share a single
...
float[4] register slot.
2007-01-18 17:29:23 -07:00
Brian
ce6640001d
_mesa_add_unnamed_constant() now tries to re-use constants already in
...
the parameter list.
2007-01-18 17:23:48 -07:00
Brian
d70771752f
Reimplement code for swizzling so that expressions like (p+q).x for vectors p and q works correctly.
2007-01-18 15:35:44 -07:00
Brian
d885ff470a
rewrite a bunch of assignment operators (like +=)
2007-01-18 15:33:13 -07:00
Brian
e4e66476a9
remove debug code
2007-01-18 15:23:45 -07:00
Patrice Mandin
3c59483ed7
nouveau: preliminary nv50 state
2007-01-18 22:07:17 +01:00
Brian
f43eac3ed8
remove swizzle param from new_var()
2007-01-18 09:22:44 -07:00
Zou Nan hai
c171166987
1. Fix bug #155
...
2. I notice multiple ARB_occlusion_query should be able to overlap according to spec.
3. Declaring extern variables in a .c file is evil, fix it.
2007-01-18 14:41:38 +08:00
Aapo Tahkola
62efc4ba3e
support as much of GL_EXT_stencil_two_side as we can. untested.
2007-01-18 05:56:13 +02:00
Aapo Tahkola
feeed10dfd
typo fix. this case still fails.
2007-01-18 05:30:20 +02:00
Aapo Tahkola
a3b4b11739
Fix invalid enums passed to MapBuffer
2007-01-18 04:46:04 +02:00
Aapo Tahkola
2cb3594af9
Fix invalid enums passed to MapBuffer
2007-01-18 04:17:56 +02:00
Brian
8a2368edce
rewrite additional matrix-related functions to reduce register needs
2007-01-17 18:37:20 -07:00
Brian
89a3bafe04
rewrite mat4 * mat4 operator to use fewer temps
2007-01-17 18:30:53 -07:00
Brian
272622a2e0
do bounds check in _slang_push_var_table(), added comment
2007-01-17 18:21:00 -07:00
Brian
2585b74e19
rewrite matrix constructors
2007-01-17 18:06:40 -07:00
Brian
4864aaeb02
handle var size > 4 in _slang_pop_var_table()
2007-01-17 18:02:44 -07:00
Brian
f4e345c1a8
minor fprintf() change
2007-01-17 16:30:11 -07:00
Brian
eb0c478b17
Rewrite a bunch of constructors. It's now important that the first
...
constructor for any given type be the one that takes the most parameters
as this is the constructor that'll be used when there's no perfect match
to the caller's arguments.
See the _slang_adapt_call() function for details.
2007-01-17 16:29:51 -07:00
Brian
3a3bb953b6
_slang_gen_function_call_name() now tries to adapt function calls (expand
...
vectors, insert casts) when a perfect match isn't found.
2007-01-17 16:14:03 -07:00