Brian
6d4e561e39
indicate which opcodes are used by Mesa GLSL, updated comments
2007-01-23 17:39:25 -07:00
Brian
223d7cb3c7
fix g++ warnings/errors
2007-01-23 16:37:51 -07:00
Brian
7e85b0a025
silence C++ warnings
2007-01-23 12:50:08 -07:00
Brian
18d1fdebeb
fixes for C++ warnings/errors
2007-01-23 11:46:02 -07:00
Thomas Hellstrom
d46093b8d5
i915tex: Relocation fixes:
...
Increase the number of allowed relocations per batchbuffer.
Fix an assert to avoid an array index overflow.
(Reported by Steve Wilkins)
2007-01-23 09:06:21 +01:00
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