Brian
22d9132081
disable printing shader program debug info
2007-03-26 10:15:02 -06:00
Brian
d619cceea4
merge of glsl-compiler-1 branch
2007-03-26 10:13:02 -06:00
Michel Dänzer
76f3b66e04
i915tex: Make sure renderbuffers don't get deleted when flipping them.
...
Since the recent renderbuffer refcounting fixes it's no longer sufficient to
just remove the old renderbuffer from the framebuffer and then add the new one
because the former may decrease the reference count to 0 and delete the old
renderbuffer.
2007-03-26 17:38:58 +02:00
Brian
e71c34aaa1
disable free() until other issues can be fixed...
2007-03-26 09:24:30 -06:00
Brian
b9fbedd601
fix mem leak, add comments
2007-03-26 09:23:44 -06:00
Ben Skeggs
8051c95a7e
nouveau: match drm version bump
2007-03-26 21:31:43 +10:00
Brian
42aaa548a1
Fix some renderbuffer reference counting issues. Also fixes a mem leak.
2007-03-25 10:39:36 -06:00
Brian
6fda763989
destroy window on exit
2007-03-25 10:25:29 -06:00
Xiang, Haihao
a1ea7812b2
i965: The given urb layout(maximal size of urb entries and the
...
values for nr of entries) should meet the requirement.
2007-03-25 21:40:58 +08:00
Xiang, Haihao
bb59d81d2d
Color3iv: set the alpha value to 1.0
2007-03-25 21:31:36 +08:00
Nicolai Haehnle
8a4546b561
r300: Whitespace cleanup in r300_texmem.c
2007-03-25 14:57:56 +02:00
Nicolai Haehnle
9db583e7e4
r300: Whitespace cleanup in r300_texstate.c
2007-03-25 14:57:49 +02:00
Nicolai Haehnle
7143c61283
r300: Fix regression: unnecessary node indirection
...
The texture_rectangle fix introduced a bug where every texture instruction
caused a new indirection.
2007-03-25 13:04:03 +02:00
Brian
bb0393a0cd
fix mem leak
2007-03-24 16:44:20 -06:00
Brian
9fe342d1e6
disable free(var->aux) -- can lead to segfault
2007-03-24 16:43:44 -06:00
Brian
cfdd07d7d3
fix mem leak
2007-03-24 16:26:51 -06:00
Brian
1968444bed
fix some mem leaks
2007-03-24 16:22:35 -06:00
Brian
935f93f966
Free shader-related context state: _mesa_free_shader_state()
2007-03-24 16:20:02 -06:00
Brian
3493e867e9
free prog->Attributes in _mesa_delete_program()
2007-03-24 16:18:13 -06:00
Brian
49134e8e53
fix mistake in _slang_free_ir()
2007-03-24 15:29:10 -06:00
Dave Airlie
74ceaf545f
nouveau: implement nv20Clear and nv20Scissor
...
Still crashes out on scissor regs
2007-03-25 07:09:02 +10:00
Nicolai Haehnle
f27991c916
r300: Fix texture coordinate calculation for rectangle textures
...
R300 hardware takes texcoords in the range 0..1 even for rectangle
textures. Previously, the necessary texcoord conversion was applied
to the texture coordinate during vertex processing in a render stage.
This is obviously wrong when fragment programs are used, which can
calculate arbitrary coordinates for TEX instructions. Therefore,
we now inject an appropriate MUL instruction before a TEX that
reference a rectangle texture.
2007-03-24 19:09:44 +01:00
Nicolai Haehnle
0c3ae2ea7f
r300: No assertion when accessing incomplete texture images.
...
There used to be an assertion when a fragment program accesses an incomplete
texture image. Work around this assertion.
Note: I am unsure whether this workaround produces the desired result
(0,0,0,1) on all hardware.
2007-03-24 18:11:37 +01:00
Brian
0e71d08e8d
Properly free the slang_ir_node->Store data (use ref counting).
2007-03-24 10:18:14 -06:00
Brian
b50b036ffb
When computing render_inputs_bitset, omit primary color if we have a fragment program and it doesn't need FRAG_ATTRIB_COL0. Silences valgrind warnings.
2007-03-24 10:16:49 -06:00
Brian
dc3015f157
move some code into new slang_ir.c file
2007-03-24 09:40:20 -06:00
Brian
b2bc563142
IR utility functions
2007-03-24 09:39:24 -06:00
Nicolai Haehnle
d4dd5a95a8
r300: Fix: KIL instruction don't require textures
...
When no textures were enabled, a KIL instruction triggered an assertion
in r300_setup_rs_unit.
2007-03-24 14:43:06 +01:00
Nicolai Haehnle
8f90822b72
swrast: Fix crash when sampling from a non-existing texture object
2007-03-24 14:42:49 +01:00
Ben Skeggs
ea3d11a3d8
nouveau: some swtcl fixes
2007-03-24 22:24:00 +11:00
Brian
8e1c3bd0b4
Implement alpha buffer copy for SwapBuffers().
...
Nicolai writes:
When the pixmap pixel format has no alpha channel, the x11 driver
(software rendering) adds a wrapped alpha channel on request.
During SwapBuffers, this alpha channel is not copied from back to
front, which means that the front buffer doesn't really contain the
contents that the back buffer previously contained.
A subsequent glReadPixels from the front buffer will return an
incorrect result. The following patch attempts to fix this.
2007-03-23 18:01:31 -06:00
Brian
8f9db0f81c
document internal compiler options
2007-03-23 17:49:19 -06:00
Brian
d1934c2065
Fix issues related to the 'continue' statement.
...
IR_LOOP now has two children: the body code, and the tail code.
Tail code is the "i++" part of a for-loop, or the expression at the end
of a "do {} while(expr);" loop.
"continue" translates into: "execute tail code; CONT;"
Also, the test for infinite do/while loops was incorrect.
2007-03-23 17:48:42 -06:00
Brian
81767eead9
consolidate some code
2007-03-23 17:45:53 -06:00
Brian
63556fa994
Add the ability to generate programs that doesn't use condition codes.
...
ctx->Shader.EmitCondCodes determines if we use condition codes.
If not, IF statement uses first operand's X component as the condition.
Added OPCODE_BRK0, OPCODE_BRK1, OPCODE_CONT0, OPCODE_CONT1 to handle
the common cases of conditional break/continue.
2007-03-23 14:47:46 -06:00
Brian
bf020d8d7f
minor tweaks
2007-03-23 14:44:34 -06:00
Brian
2bdac09d16
updated comment
2007-03-23 10:46:08 -06:00
Nicolai Haehnle
654a308439
r300: Whitespace cleanup (remove trailing spaces)
2007-03-23 17:39:28 +01:00
Brian
fe20a619cf
updated comment
2007-03-22 16:07:43 -06:00
Brian
e6aeb24b23
Overhaul emit_compare() function.
...
Previously, comparing vec2, vec3, vec4 was broken.
Added IR_EQUAL, IR_NOTEQUAL nodes/operators to compute boolean
equality/inequality vs. IR_SEQUAL/IR_SNEQUAL which work component-wise.
Use IR_EQUAL/IR_NOTEQUAL for the == and != operators.
To compute vec4 equality, use SNE, DP4, SEQ instruction sequence.
2007-03-22 16:07:14 -06:00
Brian
0aad9e2627
First pass at implementing structure compares.
...
Need to improve this. There may be holes in a structure so we can't
just blindly compare the full 4-float registers.
2007-03-22 09:15:39 -06:00
Brian
12229f119d
use _mesa_copy_instructions()
2007-03-22 09:11:26 -06:00
Brian
1bf81e3c5d
In _mesa_add_unnamed_constant() and _mesa_lookup_parameter_constant() allow swizzleOut==NULL.
...
There are times when we don't want to allow swizzling when searching for or
adding vector constants. Passing NULL for swizzleOut disables swizzling.
This fixes a constant/swizzle bug in link_uniform_vars().
2007-03-22 09:07:27 -06:00
Brian
1936b25ebd
print conditional writemask, if enabled
2007-03-22 09:04:18 -06:00
Brian
002762b13a
use _mesa_alloc_instructions()
2007-03-22 08:51:34 -06:00
Brian
1240eb2683
use _mesa_copy_instructions()
2007-03-22 08:50:20 -06:00
Alan Hourihane
985a2eff82
Ensure we have a valid ReadBuffer for CopyTexSubImage, and
...
if not bail accordingly.
Previously we'd only do this test on compressed textures.
2007-03-22 14:28:18 +00:00
Xiang, Haihao
01b7f2ab2e
fix for bug#10339
...
StateFlags has been updated in _mesa_add_state_reference
2007-03-22 11:01:51 +08:00
Brian
629ec2b06b
added SWIZZLE_XYZW
2007-03-21 15:40:54 -06:00
Brian
2500d82d0d
Support for user-defined structures.
...
struct == and != operators not finished yet. Struct assignment works though.
2007-03-21 15:40:39 -06:00
Brian
97c9b3ecc6
disable apparently unused code
2007-03-21 15:38:46 -06:00
Brian
e02b989ff9
indent
2007-03-21 14:45:34 -06:00
Brian
23d31efc16
merge from master
2007-03-21 11:57:30 -06:00
Brian
180cc2f845
disable assertion
2007-03-21 11:41:41 -06:00
Brian
88db19a484
document 1D convolution fix
2007-03-21 09:45:58 -06:00
Brian
249b451d20
1D convolution (and post-conv scale/bias) were inadvertantly applied to 2D image transfers.
2007-03-21 09:44:03 -06:00
Roland Scheidegger
c5fe807e42
fix copy and paste bug from last commit in fog generation code for GL_LINEAR fog
2007-03-21 13:19:02 +01:00
Ben Skeggs
4b5d6c0435
nouveau: update for drm interface changes (0.0.5)
2007-03-21 17:54:57 +11:00
Ben Skeggs
6cadebbb67
nouveau: SwapBuffers() needs to perform a glFlush()
2007-03-21 15:07:12 +11:00
Xiang, Haihao
704cd61120
mesa: revert f9f79c8d77
...
to fix #10232
Table6.1(in gl2.1) has been applied for glGetTexImage
before calling into _mesa_pack_rgba_span_float.
2007-03-21 10:50:19 +08:00
Nicolai Haehnle
4bafc547df
r300: Remove the program-global const_sin index
...
The index is no longer necessary to share constants between multiple
SIN/COS/SCS instructions inside a single fragment program, and storing
a tiny implementation detail like this in the fragment_program structure
itself was just nasty.
2007-03-21 00:58:02 +01:00
Nicolai Haehnle
cbe38dc0ce
r300: Whitespace cleanup (remove trailing spaces)
2007-03-20 18:40:09 +01:00
Xiang, Haihao
cf4272d256
fix for bug#10347
...
not sure which brw surface for DXT3 & DXT5, so restore
the previous choice.(changed in commit
84081774e6
)
2007-03-20 22:12:03 +08:00
Alan Hourihane
bec665d5b5
use passed target parameter
2007-03-20 13:15:58 +00:00
Ben Skeggs
ecb1a1c82f
nouveau: fix typo
2007-03-20 16:08:14 +11:00
Ben Skeggs
4185037af2
nouveau: fail translate if we use too many params somehow
2007-03-20 16:08:07 +11:00
Ben Skeggs
9622a634f6
nouveau: NVSDBG macro
2007-03-20 16:08:01 +11:00
Nicolai Haehnle
61821a41c0
r300: Cleanup fragment program constant allocation, share constants
...
The constant/parameter allocation was significantly simplified, removing
one unnecessary copy operation of parameters. The dirty state tracking is
unchanged and far from optimal, since all state is always re-fetched.
Constants and parameters are now emitted only once, which significantly
reduces the resource pressure on larger programs.
2007-03-19 23:59:59 +01:00
Nicolai Haehnle
5a65478783
r300: Fix special case (tmp.x <= 0) in fragment program LIT instruction
...
Also, fix a typo in a related comment.
2007-03-19 22:29:34 +01:00
Nicolai Haehnle
b3acba87d7
r300: Clear fragment program instruction slots on first use
...
Make sure that instruction slots are fully initialized with NOPs during
find_and_prepare_slot(). This fixes a bug when a fragment program was
translated more than once (e.g. due to a second call to glProgramStringARB).
This partially fixes glean/fragProg1.
2007-03-19 22:29:21 +01:00
Brian
fdcbbeb55e
Properly compute render_inputs_bitset when using a vertex program/shader.
...
This fixes a performance regression introduced early in glsl-compiler-1 work.
2007-03-19 14:44:15 -06:00
Nicolai Haehnle
826815a5d2
r300: Dump fragment program after translation if RADEON_DEBUG=pixel is set
2007-03-19 20:02:19 +01:00
Nicolai Haehnle
7b992d024b
r300: Whitespace cleanup (remove trailing spaces)
2007-03-19 19:49:06 +01:00
Nicolai Haehnle
c4bf863f4c
r300: Fix WRITEMASK handling when writing to result.depth
...
This is a necessary change to emit the right instructions when writing
to result.depth.
However, even with this test, Z-write doesn't work properly, and I don't
fully understand why. In addition to this, we'll at least have to disable
early-Z, but even that doesn't seem to be enough.
2007-03-19 19:48:58 +01:00
Nicolai Haehnle
b645e8c96d
r300: Streamlined fragment program LIT implementation
...
Fix a bug in the LIT implementation (clamp exponent to 128, not 0.5)
and change the implementation around. In theory, the new implementation
needs as little as 5 instruction slots. Unfortunately, the dependency
analysis in find_and_replace_slot is not strong enough to look at
individual components of a register yet.
2007-03-19 19:10:21 +01:00
Nicolai Haehnle
ff6ab9b45b
r300: Fix fragment program reordering
...
Do not move an instruction that writes to a temp forward past an instruction
that reads the same temporary.
2007-03-19 18:38:07 +01:00
Nicolai Haehnle
ec1a77c864
r300: Fragment program dumps format tex instructions
2007-03-19 18:38:07 +01:00
Nicolai Haehnle
a8e65a010c
r300: Fix hw fragment program dump
...
Dumps of fragment programs were incorrect when the program consisted of multiple
nodes.
Also, improved the formatting a bit.
2007-03-19 18:38:07 +01:00
Nicolai Haehnle
7b430acd71
r300: Fix fragment program instruction pairing and register allocation
...
There were a number of bugs related to the pairing of vector and scalar
operations where swizzles ended up using the wrong source register,
or an instruction was moved forward and ended up overwriting an aliased
register.
The new algorithm for register allocation is quite conservative and may
run out of registers before necessary. On the plus side, It Just Works.
Pairing is done whenever possible, and in more cases than before, so
in practice this change should be a net win.
2007-03-19 18:38:07 +01:00
Michel Dänzer
07db8c9115
i915tex: The intended triple buffering fix.
...
Making modifications while the editor spawned by git-commit was suspended
didn't have the intended effect.
2007-03-19 18:34:27 +01:00
Michel Dänzer
9b42100c04
i915tex: Fix triple buffering after recent Mesa core changes.
...
Remove superfluous _mesa_resize_framebuffer call which is now harmful because
it causes the third renderbuffer to have width/height 0, so Mesa refuses to
render to it.
In the long term, it would be nice to remove the hack in
intel_alloc_window_storage in favour of a proper Mesa interface for flipping
between more than two colour buffers.
2007-03-19 17:23:44 +01:00
Keith Whitwell
77544d7b7d
fix off-by-one in load_state_immediate
2007-03-18 20:13:45 +00:00
Keith Whitwell
c9e39aeaef
fix typo in subrect_disable packet
2007-03-18 20:13:45 +00:00
Keith Whitwell
07265280a9
fix typo in subrect_disable packet
2007-03-18 20:13:45 +00:00
Miguel Marte
c41d6ab6f0
screen offset changes, bug 9965
2007-03-18 11:08:29 -06:00
Nicolai Haehnle
441f038748
fix assertion in read_depth_pixels()
2007-03-18 11:02:35 -06:00
Oliver McFadden
dd868b4100
r300: Removed the deprecated $XFree86$ CVS keywords.
2007-03-18 16:57:45 +00:00
Oliver McFadden
1062106521
r300: Corrected the string for polygon mode; it wasn't updated from unkXXX.
2007-03-18 16:45:32 +00:00
Ben Skeggs
bcf4f4de76
nouveau: avoid using uninitialised TexSrcUnit.
2007-03-19 00:13:41 +11:00
Xiang, Haihao
bb02092d74
mesa: SWAP_BUFF support when calling DrawPixels(DEPTH_COMPONENT)
...
or TexImage(DEPTH_COMPONENT)
2007-03-18 18:44:51 +08:00
Xiang, Haihao
b6fe1bdd4d
mesa: enhance fxt1_quantize_ALPHA1
...
If possible, let minCol != maxCol
2007-03-18 18:34:21 +08:00
Xiang, Haihao
84081774e6
i965: fix for FXT1 & S3TC texture format
...
choose the right mesa texformat for FXT1 & S3TC
2007-03-18 18:26:16 +08:00
Oliver McFadden
cfe984dbd0
Use _mesa_copy_instructions rather than memcpy in _mesa_insert_mvp_code.
2007-03-18 07:35:45 +00:00
Haihao Xiang
ee5b7f0574
fix some format conversion bugs in glGetTexImage(), bug 10288
2007-03-17 09:42:36 -06:00
Dave Airlie
6a9b0cd0b4
r300: change vendor string to DRI R300 Project
2007-03-17 16:46:24 +11:00
Brian
e5070bc3ca
Assorted fixes for dealing with zero-size frame/renderbuffers.
...
In xmesa_check_and_update_buffer_size() handle xmctx==NULL correctly: still
call _mesa_resize_framebufer(). If we don't we can wind up in a situation
where the framebuffer size is non-zero but an attached renderbuffer size
is still initialized to zero. This inconsistancy can later cause problems.
Check for zero-size renderbuffers in update_color_draw_buffers() and
update_color_read_buffer().
See bug 7205.
2007-03-16 11:00:07 -06:00
Brian
7573b58db6
Colortable re-org.
...
The pixel transfer path has three color table lookups.
Use an array [3] to store that info, rather than separate variables.
2007-03-16 09:36:12 -06:00
Brian
d7049431a0
added a renderbuffer comment
2007-03-16 08:36:22 -06:00
Mathias Hopf
f04979ae48
added null xmctx check to XMesaResizeBuffers(), bug 7205
2007-03-16 08:28:34 -06:00
Brian
e348016253
silently ignore DeleteProgram/Shader(id=0)
2007-03-15 16:07:39 -06:00
Brian
7ed292a4e9
in _mesa_GetColorTable, return silently if table size is 0
2007-03-15 16:06:58 -06:00
Oliver McFadden
95764262a7
Fixed a minor typo in the comment near _mesa_copy_instructions.
2007-03-15 21:57:31 +00:00
Oliver McFadden
0c25d9ab19
r300: Added _mesa_copy_instructions.
2007-03-15 20:55:30 +00:00
Oliver McFadden
1195caa274
r300: Renamed r300_vertexprog.c to r300_vertprog.c
2007-03-15 20:39:07 +00:00
Oliver McFadden
0e9ada1087
r300: Use _mesa_alloc_instructions/_mesa_init_instructions instead of malloc.
...
Note that insert_wpos in r300_vertexprog.c is still a little flaky and could be
improved.
2007-03-15 19:49:10 +00:00
Oliver McFadden
0d6d80ef3d
r300: Updated R300 to use the new SWIZZLE macros.
2007-03-15 19:09:10 +00:00
Oliver McFadden
51693b22cd
r300: Fixed an unused variable warning and removed some cruft, too.
2007-03-15 18:44:29 +00:00
Oliver McFadden
b3a9a90cdf
r300: Fixed a printf conversion warning.
2007-03-15 18:30:33 +00:00
Oliver McFadden
7f08dd3fc6
r300: Fixed "no previous prototype for 'r300RefillCurrentDmaRegion'" warning.
2007-03-15 18:30:33 +00:00
Brian
fc6b8f2d30
added SWIZZLE_XXXX, YYYY, etc. macros
2007-03-15 11:51:54 -06:00
Oliver McFadden
4e4ab2a62b
Committed Rune Petersen's fragment.position patch (Bug #10024 ) plus a few small
...
corrections.
2007-03-15 17:35:34 +00:00
Brian
4d2eb637a2
no-op clear if buffer width or height is zero (bug 7205)
2007-03-15 11:16:41 -06:00
Brian
038e981cac
add some rb->Data null ptr checks (bug 7205)
2007-03-15 11:11:41 -06:00
Brian
90563d39cb
Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa
2007-03-15 09:03:03 -06:00
Brian
0cfdf432e4
implement byteswapping for all multi-byte types in _mesa_pack_rgba_span_float(), bug 10298
2007-03-15 09:02:14 -06:00
Keith Whitwell
4a7fe4fcfa
Fix off by one error in immediate state packet size.
2007-03-15 10:29:38 +00:00
Brian
32d196820f
pixelmap code simplification
2007-03-14 14:56:39 -06:00
Brian
b6adf336f4
Re-org of gl_pixel_attrib struct.
...
Reorder fields according to the order in which the pixel transfer operations
take place. Improve comments.
Move the pixel maps out of gl_pixel_attrib since they're not supposed to be
pushed/popped by glPush/PopAttrib.
New gl_pixelmap and gl_pixelmaps structs to contain the pixelmaps.
2007-03-14 14:33:46 -06:00
Brian
62b4601e53
s/Tranpose/Transpose/
2007-03-14 13:34:30 -06:00
Brian
3049946fa7
clear the b->frontxrb->drawable field in xmesa_free_buffer(), see bug 7205
2007-03-14 12:52:53 -06:00
Brian
46fe008778
Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa
2007-03-14 12:43:26 -06:00
Brian
47e0b606a8
move CLIENT_ID code in xmesa_delete_framebuffer(), see bug 7205
2007-03-14 12:42:30 -06:00
Brian
565d097d8f
continue prev check-in: save ptr to slang_function for SLANG_OPER_CALL
2007-03-14 11:07:32 -06:00
Brian
2dc3e94470
After we've found the slang_function ptr for a SLANG_OPER_CALL node, save the ptr in the node for reuse.
...
This can save a tremendous amount of time when resolving types in complex
expressions. One particular shader was taking several minutes to compile
but now compiles almost instantaneoulsy.
2007-03-14 10:49:35 -06:00
Brian
b1a955b518
make _slang_typeof_function() static
2007-03-14 10:16:18 -06:00
Brian
b01f146fd0
remove old assertion
2007-03-14 08:56:01 -06:00
Brian
52363954bf
more bug fixing, error checking
2007-03-13 16:50:24 -06:00
Brian
98650bdf89
fix a number of issues in _mesa_uniform()
2007-03-13 16:32:48 -06:00
Brian
5186529e57
remove bogus assertion
2007-03-13 16:31:30 -06:00
Brian
fdf513e07a
document some bug fixes, lots of new features
2007-03-13 16:12:23 -06:00
Brian
8d9db3dd03
fix ctx->Pixel.PostConvolutionScale/Bias subscript bugs
2007-03-13 16:07:04 -06:00
Brian
fd08463dea
Check for, simplify vec2/3/4(x). Only do call adapting for constructors.
2007-03-13 15:58:40 -06:00
Brian
c7b2cce418
improve literal printing
2007-03-13 15:57:09 -06:00
Brian
000b2899b9
disable some debug output
2007-03-13 15:55:54 -06:00
Brian
a49a865cf5
better error msg for undefined function, disable some debug output
2007-03-13 15:55:41 -06:00
Brian
948c60badc
get rid of float_multiply, float_add, float_divide
2007-03-13 15:00:14 -06:00
Roland Scheidegger
a6cc9ab493
sync up t_vp_build.c brw_vs_tnl.c a bit
...
Bring over the optimizations for fog and normalized spot dir
from t_vp_build.c to brw_vs_tnl.c. Likewise, port a fix for point size
calc from brw_vs_tnl.c to t_vp_build.c (use ABS(eyez) instead of -eyez). Leave
the now differing point size calcs alone though, not sure what's better (it's
basically MOV, ABS, MUL, DP3 vs. ABS, MAD, MAD).
2007-03-13 19:04:28 +01:00
Brian
d8070889d7
alloc an extra byte in _mesa_ShaderSourceARB() to silence a valgrind warning
2007-03-13 11:00:21 -06:00
Brian
c000843a14
be smarter about which fragment attribs are interpolated before running frag progs
2007-03-13 10:58:48 -06:00
Brian
da55430952
comment about SPAN_* vs FRAG_BIT_* values
2007-03-13 10:58:23 -06:00
Brian
17ad1d12eb
Check if FRAG_RESULT_COLR is written and update span->interpMask, arrayMask.
...
Also, fix an assertion.
2007-03-13 10:53:16 -06:00
Brian
8b9842a256
Shuffle some code around in the emit_tex() and emit_move() instructions.
...
Note that the inst ptr returned by new_instruction() may become invalid
after calling emit_() since the emit functions may allocate new instructions
which is done vial realloc().
Also, add some new assertions to try to catch this kind of bug.
2007-03-13 10:49:08 -06:00
Roland Scheidegger
37e6f760fd
enable ARB_vertex_buffer_object for more dri drivers
...
ARB_vertex_buffer_object looks like a useful extension even for old chips.
The drivers should not need any code to be able to use this extension since
they just use mesa's vbo code anyway.
Newly enabled for i810, mach64, mga, r128, radeon, savage, sis and unichrome.
2007-03-13 17:44:22 +01:00
Brian
7265e6928e
properly compute ctx->Texture._EnabledCoordUnits
2007-03-13 10:28:26 -06:00
Oliver McFadden
4c18d9056b
r300: Renamed the CACHE_CTLSTAT values to include UNKNOWN in the name; not
...
enough information is known about them to be sure as to what the values mean.
2007-03-13 14:48:29 +00:00
Roland Scheidegger
14f0b7ea98
use movdqu instead of movdqa for unaligned load avoiding a segfault (bug 10265)
2007-03-13 13:44:23 +01:00
Oliver McFadden
eb4db4c4ec
Add defines for the values written to R300_RB3D_ZCACHE_CTLSTAT.
...
Note that just like the values written to R300_RB3D_DSTCACHE_CTLSTAT these
values are really unknown; ideally more reverse engineering should be done to
determine what these values mean and when they should be set.
2007-03-13 06:24:56 +00:00
Oliver McFadden
19fbe9732c
Documented the value written for R300_TX_CNTL cache flush.
2007-03-13 06:10:23 +00:00
Xiang, Haihao
53f83b435c
mesa: _mesa_unpack_image
...
1. take packed pixel data as a component
2. fix for GL_BITMAP when compiling glTexImage, etc into
a display list: a. flip byte if lsbFirst is true since
DefaultPacking->lsbFirst is false. b. handle SkipPixels
2007-03-13 13:39:34 +08:00
Oliver McFadden
cd66604756
Corrected values written to R300_RB3D_DSTCACHE_CTLSTAT to either
...
R300_RB3D_DSTCACHE_02 or R300_RB3D_DSTCACHE_0A, rather than hexadecimal values.
2007-03-13 01:31:38 +00:00
Oliver McFadden
0c750ca98d
Guess another unknown register used for R300 pacification.
2007-03-13 00:48:17 +00:00
Brian
b3a22d0ed6
Implement GL_ARB_texture_rectangle support
...
This includes the sampler2DRect and sampler2DRectShadow types and
the texture2DRect(), texture2DRectProj(), etc. built-in functions.
2007-03-12 17:29:50 -06:00
Michel Dänzer
708d836e6b
i915tex: Don't crash when intel_fb->color_rb[i] is NULL.
...
This can be the case on some systems when running glxinfo.
2007-03-12 19:08:28 +01:00
Brian
8946d7f029
Add array bounds checking, fix memleaks, add null ptr checks.
2007-03-12 10:52:52 -06:00
Brian
d2a6f43eaf
extra stuff for drawbuffers test
2007-03-12 10:30:36 -06:00
Brian
17fb7821d7
clean-up, simplify _mesa_image_row_stride()
2007-03-12 09:50:27 -06:00
Brian
c1a5447337
take GL_UNPACK_ALIGNMENT into account in _mesa_image_row_stride() for GL_BITMAP type (bug 10261)
2007-03-12 09:50:27 -06:00
Alan Swanson
d0a3400f66
r200: Simplify r200SetCliprects like radeonSetCliprects in radeon and r300.
2007-03-12 10:03:01 +01:00
Alan Swanson
33ea9dccaf
r200: Adapt cliprect fixes from r300.
2007-03-12 09:59:45 +01:00
Alan Swanson
88501887e4
radeon: Adapt cliprect fixes from r300.
2007-03-12 09:59:28 +01:00
Brian
3f7ef618b6
added drawbuffers.c
2007-03-11 17:30:13 -06:00
Brian
15aa7aaa93
add NULL ptr check
2007-03-11 17:29:54 -06:00
Brian
ccb80d7ec4
Test the GL_ARB_draw_buffers extension.
...
Also requires GL_EXT_framebuffer_object and OpenGL 2.0 (for GLSL).
2007-03-11 17:03:29 -06:00
Brian
1c09bcfdda
Implement support for GL_ARB_draw_buffers with GL_MAX_DRAW_BUFFERS > 1.
...
GL_MAX_DRAW_BUFFERS is currently 4.
Added gl_FragData[] output for fragment programs.
In _swrast_write_rgba_span() loop over the color outputs/renderbuffers.
2007-03-11 17:00:39 -06:00
Xiang, Haihao
61ec23cc63
fix for bug#10196
...
Compute half if LOCAL_VIEWER is enabled and the light is
a directional source.
2007-03-11 22:41:26 +08:00
Aapo Tahkola
69e57cf6ae
Guess another unknown register in R300 command buffer initialization. (Oliver McFadden)
2007-03-11 11:47:03 +02:00
Oliver McFadden
e64166703a
Renamed some of the unkXXX variables in the command buffer init
...
ialization code.
Note that there are still plenty of actual unknown variables left that should
probably be deciphered.
There are a number of things incomplete in the driver; the different polygon
offset modes (line, point, etc), the other texture filter, texture chroma key,
etc. These should probably be fixed in the future, or at least added to the TODO
list.
2007-03-11 12:18:27 +11:00
Brian
d23dd812ad
Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa into glsl-compiler-1
2007-03-10 14:07:28 -07:00
Brian
7d39c1ae76
Fix TEXREL issues.
...
Patch submitted by Christoph Brill.
See http://www.gentoo.org/proj/en/hardened/pic-fix-guide.xml
2007-03-10 11:50:50 -07:00
Brian
823c041fde
check for EXT_blend_equation_separate for 2.0
2007-03-10 11:48:59 -07:00
Brian
10b5895597
Implement gl_FrontFacing for fragment shaders.
...
For the time being, we put the gl_FrontFacing value in the FOGC.Y input
register. Combining FOGC and FrontFacing in one register is a bit of a
hack and may need to be changed someday.
2007-03-10 11:30:19 -07:00
Brian
1fcb4ecc07
clean-up formatting
2007-03-10 10:56:06 -07:00
Brian
c9872b80c8
add NULL ptr check in emit_cond()
2007-03-10 10:37:18 -07:00
Michel Dänzer
38f7f81518
i915tex: Fix build against libdrm git...
2007-03-10 17:12:58 +01:00
Michel Dänzer
beffb4e88c
i915tex: Fix intel_wait_flips being declared implicitly.
2007-03-10 16:40:22 +01:00
Michel Dänzer
97775f9904
i915tex: Fix build against released version of libdrm.
2007-03-10 16:08:11 +01:00
Stephane Marchesin
ced8870a6a
nouveau: fix nv04 swtcl.
2007-03-10 13:46:26 +01:00
Stephane Marchesin
4f12b37a56
nouveau: fix the nv04 swtcl code.
2007-03-10 01:30:34 +01:00
Stephane Marchesin
581a594033
nouveau: oops don't debug by default.
2007-03-10 01:30:34 +01:00
Stephane Marchesin
df1c3ff3dd
nouveau: some fixes to the nv04 state code.
2007-03-10 01:30:33 +01:00
Stephane Marchesin
e61f674844
nouveau: add a fifo size debug check.
2007-03-10 01:30:33 +01:00
Brian
46bd63819e
use gl_ModelViewProjectionMatrixTranspose in ftransform()
2007-03-09 17:02:12 -07:00
Brian
ff95925e70
add NULL ptr check
2007-03-09 16:53:44 -07:00
Michel Dänzer
30b914e2ca
Merge branch 'i915tex-pageflip'
2007-03-10 00:19:17 +01:00
Brian
b9ea936150
added GL_CURRENT_PROGRAM
2007-03-09 15:41:25 -07:00
Michel Dänzer
6e0878becf
i915tex: Wait for pending scheduled flips before switching vsync pipe.
...
This avoids hangs when the vblank sequence numbers are not in sync between
pipes, in particular when they run at different refresh rates.
2007-03-09 20:00:13 +01:00
Michel Dänzer
bb0760ca4f
i915tex: Set intel_fb->vbl_waited to current instead of what we aimed for.
2007-03-09 19:56:55 +01:00
Brian
2cf5fd48d1
Merge branch 'origin' into glsl-compiler-1
...
Conflicts:
src/mesa/main/context.c
2007-03-09 11:43:53 -07:00
Brian
9f44247acf
fix _mesa_uniform_matrix() transpose bug
2007-03-09 11:34:18 -07:00
Michel Dänzer
36b4e25da3
i915tex: Sync pages between pipes immediately again.
...
This should be safe now that we no longer use the MI_WAIT_FOR_EVENT instruction
incorrectly and should also work correctly with applications that render to the
front buffer.
2007-03-09 17:52:29 +01:00
Brian
b03e1712b2
gl_ClipVertex not supported yet
2007-03-09 09:51:55 -07:00
Michel Dänzer
81536789d2
i915tex: Do not wait for pending flips on both pipes at the same time.
...
The MI_WAIT_FOR_EVENT instruction does not support waiting for several events
at once, so this should fix the lockups with page flipping when both pipes are
enabled.
2007-03-09 17:42:55 +01:00
Brian
f9f79c8d77
New IMAGE_RED_TO_LUMINANCE flag passed to _mesa_pack_rgba_span_float() to fix glGetTexImage(GL_LUMINANCE) bug #10232 .
2007-03-09 09:13:49 -07:00
Michel Dänzer
4d9901a1ca
r300: Also update window state when it's already bound but its stamp changed.
...
And set new cliprects before deriving other state from them. This ensures
cliprects aren't accessed after having been freed.
Thanks to Panagiotis Papadakos for testing various iterations of this.
2007-03-09 09:43:17 +01:00
Brian
a706b0b8bd
added missing bvec2/3/4 constructors
2007-03-08 16:08:55 -07:00
Brian
05b74e4ae4
fix broken vec4_seq, vec4_sne instructions
2007-03-08 15:59:20 -07:00
Brian
2f35a17f38
Update lessThan(), lessThanEqual() functions, improve some matrix constructors.
2007-03-08 15:53:05 -07:00
Brian
5761a93bba
Added IR_SLE and IR_SLT for <= and < operations.
...
Using IR_SGE and IR_SGT with transposed args doesn't work since the __asm
calls don't do argument matching by name, but by position.
This fixes the broken lessThan() and lessThanEqual() functions.
2007-03-08 15:52:22 -07:00
Brian
3e0fbc7efc
fix tmp storage problem for IR_I_TO_F
2007-03-08 15:45:25 -07:00
Brian
19a9050548
fix assertion
2007-03-08 15:19:34 -07:00
Brian
ee931f8d4d
; and {} statements were broken
2007-03-08 14:48:34 -07:00
Brian
ec89aba7c6
remove unused new_cjump()
2007-03-08 11:29:22 -07:00
Brian
cce4e50569
IR_CJUMP0/1 no longer used/needed
2007-03-08 11:16:13 -07:00
Brian
63772e2a2c
rewrite _slang_gen_select() to use IF node
2007-03-08 11:07:52 -07:00
Brian
b3dd49429b
s/_slang_gen_hl_if/_slang_gen_if/
2007-03-08 10:53:50 -07:00
Brian
609306de17
s/_slang_gen_hl_if/_slang_gen_if/
2007-03-08 10:43:57 -07:00
Brian
c9f486c38f
remove old assertion
2007-03-08 10:40:37 -07:00
Brian
bf86ddaa20
check for attempted writes to read-only vars
2007-03-08 10:40:25 -07:00
Brian
de8172673e
Rework matrix-related code.
...
GLSL matrices are stored in column-major order while GL_ARB_vertex/fragment_program
use row-major. So, need to use STATE_MATRIX_TRANSPOSE for built-in matrices.
Unfortunately, this means that the expression M * V isn't very efficient since we
need to extract the rows out of M. And that's the typical expression for vertex
transformation: gl_ModelViewProjectionMatrix * gl_Position.
Solve this inefficiency by looking for M*V expressions and replacing them
with V*Transpose(M).
Also, add support for GLSL 1.20's MatrixTranspose, Inverse and InverseTranspose
matrices.
2007-03-08 09:38:35 -07:00
Xiang, Haihao
d85667950f
remove a if-statement
...
glMaterial changes the current specular exponent or glLight changes
the intensity distribution of the light, but _mesa_update_state doesn't
update the corresponding light table. So they must be updated at this time.
2007-03-08 22:54:14 +08:00
Brian
6ff0a04f7c
fix ProjectionMatrix typo
2007-03-08 07:53:30 -07:00
Brian
7e66cad998
fix gl_TextureMatrix indexing
2007-03-08 07:51:39 -07:00
J.Jansen
79d59d0173
Updates of the OpenVMS makefiles.
...
-include missing definitions
-add files to compile
-remove files from compile list which are removed from the repositry
-add support for vbo
new file: src/mesa/vbo/descrip.mms
modified: src/mesa/descrip.mms
modified: src/mesa/drivers/osmesa/descrip.mms
modified: src/mesa/drivers/x11/descrip.mms
modified: src/mesa/swrast_setup/descrip.mms
modified: src/mesa/tnl/descrip.mms
2007-03-08 09:53:28 +01:00
Brian
9637c963f5
more DEBUG_PROG
2007-03-07 17:40:57 -07:00
Brian
fb3f0beb42
update comments
2007-03-07 17:37:24 -07:00
Brian
0aec2bb8f2
remove unneeded return stmt
2007-03-07 16:13:33 -07:00
Brian
da899d190e
add missing gl_Point state, fix IR storage bug
2007-03-07 16:13:22 -07:00
Brian
29bc4b8974
s/diffuset/diffuse/
2007-03-07 13:35:49 -07:00
Brian
c3412e9a08
regenerated
2007-03-07 13:07:40 -07:00
Brian
842c782cee
use 2.0, 2.1 version strings
2007-03-07 13:07:07 -07:00
Brian
faeea574af
remove end_label field
2007-03-07 13:00:06 -07:00
Brian
35d25c0ce4
Fix problem with nested function calls such as y = f(f(x))
...
Replace CurFunction with curFuncEndLabel.
2007-03-07 12:59:01 -07:00
Brian
5b5a80d011
s/equal/EQUAL/, fix bugs in logical or/and code.
2007-03-07 11:26:47 -07:00
Brian
ab673c8527
fix broken __postDecr()
2007-03-07 11:25:37 -07:00
Brian
1dca089149
fix deferredTexture bug
2007-03-07 10:42:44 -07:00
Michel Dänzer
fb3410297b
i915tex: Set framebuffer size to match window before calling _mesa_make_current.
...
Fixes issues with apps that don't call glViewport by default.
2007-03-07 18:01:39 +01:00
Brian
3efd0c7b8d
fix swizzled writemask bug
2007-03-07 09:59:26 -07:00
Brian
f3da222839
remove bogus assertion
2007-03-07 09:58:45 -07:00
Michel Dänzer
9adf6e9d6c
i945_miptree_layout: Adapt cubemap fixes from i915_miptree_layout.
...
Cubemaps aren't working fully correctly yet, but at least they don't seem to
cause crashes anymore.
2007-03-07 17:52:44 +01:00
Brian
d25046b648
fix incorrect HPOS write test
2007-03-07 08:56:09 -07:00
Brian
e61ec95deb
additional error detection
2007-03-07 08:55:42 -07:00
Brian
cec81eef31
check for null program ptrs in _mesa_uniform()
2007-03-07 08:04:06 -07:00
Brian
55821d021d
Generate an error if the vertex shader does not write to gl_Position.
2007-03-07 07:52:24 -07:00
Brian
2282d81536
destroy window during cleanup
2007-03-06 16:33:00 -07:00
Brian
6cb0aa12b8
more integer arithmetic updates
2007-03-06 16:32:03 -07:00
Brian
0af1c6b5d1
Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa
2007-03-06 16:27:23 -07:00
Brian
e69da9d02e
explicit calls to _mesa_unreference_framebuffer() not always needed now
2007-03-06 16:26:22 -07:00
Brian
1a6baf092b
unreference old framebuffer, if needed, in _mesa_reference_framebuffer()
2007-03-06 16:26:02 -07:00
Brian
955906aa64
fix renderbuffer mem leak
2007-03-06 16:25:07 -07:00
Brian
37fd6be411
formatting fix
2007-03-06 16:24:48 -07:00
Brian
e10a1457e8
fix some int arithmetic problems
2007-03-06 14:07:48 -07:00
Ian Romanick
fa8961069c
Merge branch 'master' of ssh+git://idr@git.freedesktop.org/git/mesa/mesa
2007-03-06 11:50:33 -08:00
Ian Romanick
091be11190
Fix cut-and-paste error in the name of GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB.
2007-03-06 11:50:21 -08:00
Brian
28ab1125c2
more DEBUG_PROG code
2007-03-06 12:15:30 -07:00
Brian
c6d930a114
fix vert/frag typo
2007-03-06 11:53:27 -07:00
Brian
a510bc3ee1
Fix/improve framebuffer object reference counting.
...
Use _mesa_reference_framebuffer() and _mesa_unreference_framebuffer() functions
to be sure reference counting is done correctly. Additional assertions are
done too. Note _mesa_dereference_framebuffer() renamed to "unreference" as
that's more accurate.
2007-03-06 10:07:59 -07:00
Brian
593802c0b0
Take care of texObj reference in _mesa_free_framebuffer_data()
2007-03-06 09:49:15 -07:00
Brian
330d7e2080
Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa
2007-03-06 09:03:18 -07:00
Michel Dänzer
6f9b1afc86
r300: Call radeonSetCliprects from radeonMakeCurrent.
...
Based on a patch by Panagiotis Papadakos.
Among other things, this makes sure the framebuffer object associated with the
drawable has the correct size when _mesa_make_current is called, so the default
viewport is set up correctly.
Also update radeon->lastStamp in radeonSetCliprects.
2007-03-06 13:22:35 +01:00
Xiang, Haihao
1c70cde888
fix for bug#10182
...
call _mesa_dereference_framebuffer instead of _mesa_dereference_framebuffer
in i810, i915, i915tex, i965 drivers.
2007-03-06 15:47:37 +08:00
Xiang, Haihao
a783713432
fix for bug#9971
...
call swsetup_Wakeup before falling back to software rendering
2007-03-05 22:18:21 +08:00
Keith Whitwell
7ecdfb2f08
Propogate UsesKill information.
2007-03-04 21:50:51 +00:00
Christoph Bill
9557706404
r300: Use register name & add a register about shading.
2007-03-01 21:11:45 +01:00
Christoph Bill
0d2a68fc61
r300: Use reg definition when available & add missing reg definition.
2007-03-01 20:45:04 +01:00
Christoph Bill
ad3f2107ed
Add early register descritpion.
...
This need more work on case where we can disable
or enable early (stencil, alpha might need it to
be disable).
2007-03-01 20:40:25 +01:00
Rune Petersen
5cb01764f6
Optimize cos&sin instruction a bit more.
2007-03-01 20:36:19 +01:00
Brian
a8ba888a35
move oldFb decl into tighter scopes
2007-03-01 09:40:21 -07:00
Brian
9fbb2e9e76
fix bad n_dot_h normalization code (bug 9977), plus clean-up the code in general
2007-03-01 09:17:01 -07:00
Brian
d592eaeb83
fix clipping, display name, warnings
2007-03-01 07:56:11 -07:00
Brian
887d3c67cb
s/unsigned int/size_t/ (bug 10135)
2007-03-01 07:42:42 -07:00
Brian
03b9e16507
include assert.h
2007-03-01 07:39:27 -07:00
Brian
38a88db1fc
Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa
2007-02-28 11:58:30 -07:00
Brian
9f37be694e
s/ARB/MESA/ in extension check (bug 10126)
2007-02-28 11:58:06 -07:00
Michel Dänzer
0609b6afa8
i915tex: Sync pages differently when crossing pipe borders.
...
Don't flip (up to twice) immediately but just arrange things such that the
pages will be in sync on both pipes on the next flip.
2007-02-28 17:46:07 +01:00
Michel Dänzer
3c578455e1
i915tex: Check that intel_rb is valid before trying to add it to an fbo.
2007-02-28 17:42:54 +01:00
Michel Dänzer
edf676cc5a
i915tex: Also update intel_rb->vbl_pending when scheduled swap is not a flip.
2007-02-28 16:05:49 +01:00
Ben Skeggs
afa780c09d
nouveau: drm interface changes
2007-02-28 15:31:28 +11:00
Brian
07e62084bb
info about how the compiler works
2007-02-27 16:45:40 -07:00
Brian
59e56ee3e5
fix comment
2007-02-27 11:09:48 -07:00
Brian
f30e312763
assert that fb->RefCount==0 in _mesa_free_framebuffer_data()
2007-02-27 11:09:28 -07:00
Brian
0e1bd23025
s/matrix_stack/gl_matrix_stack/ and s/mesa_list_state/gl_dlist_state/
2007-02-27 09:54:50 -07:00
Brian
2cf8d24131
remove unused DriverMgrCtx
2007-02-26 18:35:34 -07:00
Brian
fa4d036424
Add EmitHighLevelInstructions, EmitComments booleans to gl_shader_state.
...
These control code generation options. May be overridden by drivers, debuggers, etc.
2007-02-26 18:33:50 -07:00
Brian
4f26a52908
re-enable var scope destruct in slang_operation_destruct()
2007-02-26 18:08:09 -07:00
Brian
553fe132d4
Fix a few bugs in slang_operation variable scoping. Seems to fix a double-free.
2007-02-26 18:07:26 -07:00
Brian
aa6f4241f8
formatting fixes
2007-02-26 17:32:45 -07:00
Brian
e21096b07c
fix mem leak
2007-02-26 17:05:52 -07:00
Brian
b58ea057fe
fix mem leak in _mesa_ShaderSourceARB()
2007-02-26 17:00:06 -07:00
Brian
4b8d75e2e6
fix logic for reporting errors
2007-02-26 16:32:00 -07:00
Brian
f446e58e45
disable execute bit
2007-02-26 15:13:34 -07:00
Brian
6817407d49
fix error flagging
2007-02-26 15:06:56 -07:00
Brian
365f8fb0dd
re-enable some code
2007-02-26 15:02:36 -07:00
Brian
ed0ae62ad7
Merge branch 'glsl-compiler-1' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa into glsl-compiler-1
2007-02-26 14:34:57 -07:00
Brian
ca279b80e6
Remove old error logging code. New slang_log.[ch] files.
2007-02-26 14:33:52 -07:00
Brian
c4ac5ac9d7
Overhaul of error handling.
2007-02-26 14:32:53 -07:00
Brian
7f01ef171f
Overhaul of error logging.
2007-02-26 14:32:29 -07:00
Brian
e63c7e0893
Use new slang_emit_info struct for passing context info around.
2007-02-26 14:22:05 -07:00
Brian
25ea5ea27e
Merge branch 'glsl-compiler-1' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa into glsl-compiler-1
2007-02-26 13:11:20 -07:00
Brian
928a70e435
Rewrite code related to buffer destruction.
...
Do proper reference counting so that we don't wind up with dangling
references to deleted windows/framebuffers. Should help with bug 7205.
2007-02-26 11:39:17 -07:00
Brian
f30e8a4bdf
if renderbuffer ptr is null, just return
2007-02-26 11:37:52 -07:00
Brian
e6a9381f78
Do proper framebuffer refcounting in _mesa_make_current().
...
Also, added DeletePending field to gl_framebuffer used when a window has been
deleted, but there still may be rendering contexts attached to the
gl_framebuffer object.
2007-02-26 11:37:37 -07:00
Brian
344c3f7379
updated version with new Khronos license/copyright
2007-02-26 09:19:32 -07:00
Panagiotis Papadakos
1a72c8ed3f
s/pdp/prp/ in DoBindContext()
2007-02-26 07:59:14 -07:00
Panagiotis Papadakos
3528d61820
add missing param to _mesa_warning()
2007-02-26 07:57:31 -07:00
Brian
46d4880201
Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa
2007-02-26 07:56:43 -07:00
Brian
4e53ce81cf
remove unneeded includes
2007-02-25 20:05:22 -07:00
Brian
3c1c999226
update comments
2007-02-25 19:11:44 -07:00
Brian
313d50e903
fix bounds checking in get_register_pointer()
2007-02-25 19:01:16 -07:00
Brian
b85d4d61a7
define and use MAX_PROGRAM_ADDRESS_REGS
2007-02-25 18:56:57 -07:00
Brian
33eac56e4a
Add EnvParams field to gl_program_machine, avoid passing ctx to a bunch of functions.
2007-02-25 18:52:41 -07:00
Brian
6774f32adb
simplify _mesa_get_program_register()
2007-02-25 18:39:46 -07:00
Brian
21bcb2e1f6
s/GetFragmentProgramRegister/GetProgramRegister/
2007-02-25 18:35:47 -07:00
Brian
cfd0011f2f
minor clean-ups in _mesa_execute_program()
2007-02-25 18:30:45 -07:00
Brian
8b34b7da41
remove 'maxInst' parameter from _mesa_execute_program()
2007-02-25 18:26:50 -07:00
Brian
085d7d59f0
remove unused 'element' parameter from _mesa_execute_program()
2007-02-25 18:23:37 -07:00
Brian
12fd8faa5d
s/attribs/results/
2007-02-25 18:08:16 -07:00
Brian
29796b62bd
remove unused VaryingPtr
2007-02-25 17:33:46 -07:00
Brian
e71a33bbf8
Optimize the loop for copying output results.
2007-02-25 17:29:00 -07:00
Brian
f68067e101
add texture rotation
2007-02-25 17:24:40 -07:00
Aapo Tahkola
c080123998
Fix #10071 - wrong max_index in vbo draw_prims. (Papadakos Panagiotis)
2007-02-26 01:51:39 +02:00
Brian
9854a17f29
only copy used outputs
2007-02-25 12:47:25 -07:00
Brian
21625d729c
output texcoord in vertex program
2007-02-25 12:46:56 -07:00
Brian
9d8df47996
Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa
2007-02-24 18:29:57 -07:00
Brian
32fbbf38b4
Revert "option to test mipmapping"
...
This reverts commit a127537efb
.
Meant to do this on the trunk.
2007-02-24 18:27:46 -07:00
Brian
a127537efb
option to test mipmapping
2007-02-24 18:20:35 -07:00
Brian
d9fb113e05
Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa
2007-02-24 18:15:45 -07:00
Brian
53170942e3
Fix broken cubemap mipmap layout (the cubemap.c demo was segfaulting).
...
In i915_miptree_layout() change the width, height parameters that are passed
to intel_miptree_set_level_info(). As it was, the width, height values were
larger than the source image dimensions and we segfaulted in memcpy() when
copying the original texture data into the texture buffer region.
This fix should probably be checked by someone more familiar with the code (Keith?)
2007-02-24 18:14:53 -07:00
Brian
aeaad937b9
clean-up, comment code
2007-02-24 18:11:09 -07:00
Brian
5cd30a2b20
make src ptr const
2007-02-24 18:10:41 -07:00
Brian
fbc4929185
add missing code for newer STATE_INTERNAL items
2007-02-24 17:00:50 -07:00
Brian
efcfdbd4d1
Undo some changes to _mesa_UpdateTexEnvProgram(). Fixes broken i915 texturing.
2007-02-24 15:51:41 -07:00
Brian
292a80466d
Outputs[] array wasn't large enough, define MAX_PROGRAM_OUTPUTS, new assertions.
2007-02-24 15:49:54 -07:00
Brian
5e80c62f31
Remove unneeded _Fragment/VertexShaderPresent fields, update comments.
2007-02-24 15:39:37 -07:00
Brian
197af3dc32
Use prog_execute.c to run vertex programs until t_vb_arbprogram.c is updated to
...
handle branch instructions, etc.
2007-02-24 11:16:58 -07:00
Brian
824dcd4399
remove comment
2007-02-24 11:15:27 -07:00
Brian
761728afe8
Fix assertion in get_register_pointer(), fix EXP case.
...
Note that GL_ARB_v_p and GL_NV_v_p define the z component of the EXP instruction
differently. We follow the ARB extension.
2007-02-24 11:14:57 -07:00
Brian
f183a2d7ea
added ARL, EXP, LOG, relative indexing
2007-02-23 17:14:30 -07:00
Brian
a2786a97d7
add some missing cases in _mesa_program_state_string()
2007-02-23 17:13:30 -07:00
Brian
f1390a3424
fix fog breakage
2007-02-23 17:11:01 -07:00
Brian
e80d901d98
reindent
2007-02-23 16:53:24 -07:00
Brian
6df328e84d
don't pass program ptr to fetch_vector[14]()
2007-02-23 16:48:07 -07:00
Ian Romanick
3f8c5969ff
Fix GLAPIENTRYP for OS X.
...
Fix build problems related to incorrect define of GLAPIENTRYP on OS X.
Reported by bushing on IRC.
2007-02-23 15:15:50 -08:00
Brian
064ae479a7
Update DRI drivers for new glsl compiler.
...
Mostly:
- update #includes
- update STATE_* token code
2007-02-23 13:40:13 -07:00
Brian
36a0ee199d
expose _mesa_load_tracked_matrices()
2007-02-23 13:38:37 -07:00
Brian
15b3bd1689
added linux-dri-debug
2007-02-23 11:58:46 -07:00
Brian
cc6a08b2a0
SWvertex no longer has texcoord field, use attrib field instead
2007-02-23 11:45:15 -07:00
Brian
fce8409cbb
s/GLint/gl_state_index/, length is now 5 not 6
2007-02-23 11:44:44 -07:00
Brian
9fe3e2efc3
s/GLint/gl_state_index/, length is now 5 not 6
2007-02-23 11:44:14 -07:00
Brian
0020d1022f
re-expose _mesa_print_alu_instruction()
2007-02-23 11:43:44 -07:00
Brian
ef0cc9db54
remove dead code
2007-02-23 11:43:14 -07:00
Brian
aa9d22a1c0
replace GLint with gl_state_index
2007-02-23 11:21:03 -07:00
Brian
99902198de
comments, clean-up
2007-02-23 10:19:55 -07:00
Brian
5186ae9bbe
remove unused slang_atom_pool_gen()
2007-02-23 10:12:38 -07:00
Brian
308be21c2f
added slang_label.c
2007-02-23 10:04:18 -07:00
Brian
c2a261f493
comments, clean-up
2007-02-23 09:55:21 -07:00
Brian
75d4ed968d
Replace slang_ir_node::Target w/ Field. Remove Comment field. Clean-up.
2007-02-23 09:42:11 -07:00
Brian
c18c75b0b7
remove old _slang_gen_if()
2007-02-23 09:38:46 -07:00
Brian
afbf7c7e6b
Re-implement branching with slang_labels.
...
This eliminates the NOP instructions that had been used as placeholders for
branch targets.
Also, fix "return" statement bug.
2007-02-23 09:38:17 -07:00
Brian
d8d07b2a8a
label routines for implementing branches, jumps
2007-02-23 09:36:29 -07:00
Brian
0cc9419631
debug code for emitting variable allocation comments
2007-02-22 17:46:20 -07:00
Brian
059376c855
expose _mesa_swizzle_string()
2007-02-22 17:45:32 -07:00
Roland Scheidegger
5e66843733
r200 fix broken (by new input handling) fogcoord
2007-02-23 01:45:19 +01:00
Brian
ff0cc92757
glslcompiler build instructions
2007-02-22 16:29:48 -07:00
Brian
bc18ac45a3
updated for vbo
2007-02-22 16:29:25 -07:00
Brian
da46353056
Remove obsolete files.
2007-02-22 16:14:02 -07:00
Brian
13e3b21b16
New, unified interpretor/executor for vertex and fragment programs.
...
This replaces the code formerly in nvvertexec.c and s_fragprog.c.
Currently, DDX, DDY don't work.
2007-02-22 16:09:40 -07:00
Brian
7aaefcbe48
use _mesa_get_program_register()
2007-02-22 16:08:30 -07:00
Brian
f6803de739
Use the new unified vertex/fragment program interpreter from prog_execute.c.
...
Currently, DDX, DDY don't work.
2007-02-22 16:08:01 -07:00
Brian
e382efc85d
use new _mesa_execute_program() function
2007-02-22 16:07:17 -07:00
Brian
6cfe2114f1
FORCE_PROG_EXECUTE_C cpp flag, misc changes
2007-02-22 16:06:54 -07:00
Brian
fd89396012
fix assertion
2007-02-22 16:02:18 -07:00
Brian
7c86e10193
emit high-level IF/ELSE/ENDIF for vertex progs now
2007-02-22 16:02:08 -07:00
Brian
740a8b0b66
_mesa_ExecuteProgramNV is now a no-op
2007-02-22 16:00:54 -07:00
Brian
ef64cda978
remove nvvertexec.c, add prog_execute.c
2007-02-22 16:00:31 -07:00
Brian
3ed1acd13c
use MAX_PROGRAM_ENV_PARAMS
2007-02-22 14:57:40 -07:00
Brian
b7aeac0de1
added MAX_PROGRAM_ENV_PARAMS
2007-02-22 14:57:19 -07:00
Brian
79fb4527ca
added CallStack, StackDepth
2007-02-22 14:56:43 -07:00
Brian
29925c6dcd
remove unneeded #includes, misc clean-up
2007-02-22 14:56:22 -07:00
Brian
e47c60443f
reorg/clean-up/indent
2007-02-22 14:55:35 -07:00
Brian
11b9ef9454
start implementing conditions, branching
2007-02-22 14:43:41 -07:00
Brian
2eeaae6cbc
get rid of some unused slang_variable fields
2007-02-22 11:00:10 -07:00
Brian
50040573d7
Replace slang_allocate_storage() with simpler _slang_attach_storage()
2007-02-22 10:56:41 -07:00
Brian
b618ac8c0b
updated debug code
2007-02-22 09:39:25 -07:00
Brian
776bc9cf55
Undo some STATE_POINT/FOG changes. Max length of state token array is now 5.
2007-02-22 09:29:46 -07:00
Michel Dänzer
641c966e3d
i915tex: Schedule flips when possible.
...
Also move vsync related state from context to window, so it's possible to
schedule several flips ahead of time with triple buffering.
2007-02-22 17:24:09 +01:00
Brian
3f4826a358
XXX comments about shaders
2007-02-22 09:10:38 -07:00
Brian
6ec7484ae8
use ctx->VertexProgram._Current instead of ctx->VertexProgram._Enabled
2007-02-22 09:10:24 -07:00
Brian
96abc6bf72
merge fix: add STATE_FOG_PARAMS_OPTIMIZED, STATE_SPOT_DIR_NORMALIZED
2007-02-22 09:08:53 -07:00
Brian
7b30053b26
fix negative indentation problem
2007-02-22 09:08:36 -07:00
Brian
53bcdedc32
Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa
2007-02-22 08:57:36 -07:00
Brian
29c471aafc
Merge branch 'origin' into glsl-compiler-1
...
Conflicts:
src/mesa/main/state.c
src/mesa/shader/program.c
src/mesa/shader/program.h
src/mesa/shader/programopt.c
src/mesa/shader/slang/slang_execute.c
src/mesa/sources
src/mesa/swrast/s_arbshader.c
src/mesa/swrast/s_context.c
src/mesa/swrast/s_span.c
src/mesa/swrast/s_zoom.c
src/mesa/tnl/t_context.c
src/mesa/tnl/t_save_api.c
src/mesa/tnl/t_vb_arbprogram.c
src/mesa/tnl/t_vp_build.c
src/mesa/tnl/t_vtx_eval.c
2007-02-22 08:53:33 -07:00
Dave Airlie
4a1d7d6641
r300: get rid of CB_DPATH legacy
2007-02-22 19:33:50 +11:00
Brian
6d4cf6be4e
updated info about arrays, predefined uniforms
2007-02-21 16:07:03 -07:00
Brian
5a2c1ad625
disable debug
2007-02-21 16:05:56 -07:00
Brian
917a5086b3
Use gl_LightSource[0].position intead of a light position uniform.
2007-02-21 15:57:55 -07:00
Brian
5d89b027ee
remove unneeded #includes
2007-02-21 15:42:50 -07:00
Brian
502c132738
fix copy&paste errors
2007-02-21 15:42:10 -07:00
Brian
f958aabdf3
more minor changes to STATE_ indexing
2007-02-21 15:23:11 -07:00
Brian
78399d23dc
remove dead code
2007-02-21 15:22:17 -07:00
Brian
f941892829
Reimplement the _slang_alloc_statevar() function.
...
After several tries at making a table-based system for examining pre-defined
uniforms to find statevar indexes, give up and do it the simple way (lots of
strcmp() calls). Not terribly elegant, but perfectly functional.
2007-02-21 15:21:58 -07:00
Brian
6531952b3c
adjustments to STATE_ token layout/format so token[1] is always the array index
2007-02-21 11:08:21 -07:00
Brian
c3301d038d
checkpoint overhaul of pre-defined uniform code
2007-02-21 09:15:39 -07:00
Brian
aa7ddbd0ff
clean-up, move IR_ELEMENT code
2007-02-20 17:00:16 -07:00
Brian
760c114b24
alloc IR_FIELD's Storage in codegen, like IR_ELEMENT
2007-02-20 16:56:49 -07:00
Ian Romanick
a4b344baa2
Merge branch 'master' of ssh+git://idr@git.freedesktop.org/git/mesa/mesa
2007-02-20 15:19:23 -08:00
Ian Romanick
f0bcee5db0
Delete two invalid assertions.
...
These two assertions are invalid for a couple reasons. Primarily,
when this code is compiled into the X-server, the symbols
"glSecondaryColor3fEXT" and "glPointParameterivNV" do not exist.
2007-02-20 15:18:53 -08:00
Brian
10f42ddb9e
work on struct/array handling
2007-02-20 15:22:38 -07:00
Brian
361b60678e
forgot to return length in parse_array_len()
2007-02-20 15:20:46 -07:00
Patrice Mandin
440759c2cd
nouveau: nv10: grr, ctx->DrawBuffer invalid?
2007-02-20 23:17:09 +01:00
Patrice Mandin
79870d100f
nouveau: nv10: also check ctx->DrawBuffer in nv10ViewportScale
2007-02-20 23:13:48 +01:00
Patrice Mandin
102ad2e066
nouveau: nv10: keep 24/8 depth/stencil value, don't check for depth bits
2007-02-20 23:04:21 +01:00
Brian
243c2dd746
implement support for pre-defined uniform structs (state vars)
2007-02-20 14:03:43 -07:00
Brian
48d65aabbc
added slang_builtin.c
2007-02-20 14:03:10 -07:00
Michel Dänzer
e33a9d6894
i915tex: Triple buffering support, only effective with page flipping so far.
...
Pending flips are tracked per renderbuffer and the colour renderbuffer
attachments of window framebuffer objects are rotated on flips to avoid
stalling the pipeline for pending flips unnecessarily.
2007-02-20 19:15:44 +01:00
Michel Dänzer
356bf9563e
intelWindowMoved: Some debugging output was accidentally left always enabled.
2007-02-20 19:15:44 +01:00
Michel Dänzer
bfbc1de02e
intelRotateWindow: Only use back buffer and cliprects in very specific cases.
2007-02-20 19:15:44 +01:00
Michel Dänzer
6f2bf34748
intelCopyBuffer: Remove incorrect intel_fb->pf_current_page tests.
...
intel_get_rb_region already takes the current page into account.
This would result in broken rendering when multiple 3D windows are visible
and the pages are reversed.
2007-02-20 19:15:44 +01:00
Michel Dänzer
6b99cafd69
i915tex: Support page flipping on both CRTCs independently.
...
No longer track page flipping state per context but per window, via struct
intel_framebuffer which wraps struct gl_framebuffer for windows.
2007-02-20 19:15:44 +01:00
Michel Dänzer
af64dd2ae0
i915tex: Make page flipping work again.
2007-02-20 19:15:44 +01:00
Adam Jackson
d44027dbbd
Fix parallel make in r300 driver.
2007-02-20 12:48:50 -05:00
Brian
bd894c4705
added SWIZZLE_XXXX, SWIZZLE_YYYY, etc
2007-02-20 10:40:08 -07:00
Brian
18e9ca5fb0
more branch info
2007-02-20 09:24:06 -07:00
Brian
906fd23e1d
glxext.h version 18
2007-02-20 08:41:15 -07:00
Brian
45b1f169b4
updated to version 18
2007-02-20 08:40:55 -07:00
Brian
d2ffe4ca07
glext.h version 39
2007-02-20 08:38:46 -07:00
Brian
c226e44437
updated to version 39
2007-02-20 08:38:29 -07:00
Christian Neumair
20e851bb9a
set log level w/ env var
2007-02-20 08:11:11 -07:00
Brian
174c555414
remove accidental check-in
2007-02-20 08:05:29 -07:00
Brian
3d001b81c2
Merge branch 'glsl-compiler-1' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa into glsl-compiler-1
2007-02-20 08:04:40 -07:00
Thomas Hellstrom
d2b06403c6
i915tex: Fix performance regression with new vbo code and latest drm.
...
With current memory preferences, vbos ended up in AGP space
where reading from them got a bit slow.
Make sure buffer objects are initially created in system memory.
2007-02-19 19:57:30 +01:00
Brian
9449a4d894
s/PROG_PRINT_ARB/PROG_PRINT_DEBUG/
2007-02-17 09:41:59 -07:00
Brian
61d31ae10d
info about stand-alone compiler
2007-02-17 09:41:19 -07:00
Brian
cc153541a2
stand-alone GLSL compiler
2007-02-17 09:15:39 -07:00
Brian
501ee87180
Lots of changes to prog_print.c code.
...
Mainly, allow printing programs in either ARB, NV or "debug" formats.
2007-02-17 09:15:00 -07:00
Sean D'Epagnier
43c6b2f67f
Merge branch 'master' of git+ssh://geckosenator@git.freedesktop.org/git/mesa/mesa
2007-02-16 17:46:11 -07:00
Sean D'Epagnier
7ae8f388cf
Commiting a few minor fixes to glut fbdev (segfault on a separate stack)
...
Updated all drivers that used the old _ac_ functions to use
the new _vbo_ functions. I know this fixed the fbdev driver,
it looks like it might fix some other drivers too.
2007-02-16 17:44:13 -07:00
Jerome Glisse
515f495f4e
doxygen: update doxygen project number to 6.5
...
doxygen number was laggin behind a bit.
2007-02-16 23:22:04 +01:00
Jerome Glisse
c2e0570831
Update doxygen doc to reflet vbo changes.
...
Update doxygen doc, array_cache no longuer exist,
new shiny vbo modules is there. Tested on unix,
but i think i didn't broke that bat :).
2007-02-16 23:19:05 +01:00
Patrice Mandin
21f2f7f26b
nouveau: nv50: update
2007-02-16 22:39:28 +01:00
Patrice Mandin
4cc4a753fa
nouveau: nv10,20: wrong viewport clip setup
2007-02-16 22:39:12 +01:00
Patrice Mandin
0fccb646e0
nouveau: nv20: texture matrix
2007-02-16 22:09:42 +01:00
Patrice Mandin
66d8e55184
nouveau: nv20: update
2007-02-16 22:03:31 +01:00
Patrice Mandin
f942dc5522
nouveau: nv10: set clear value for 16 and 24 bits depth
2007-02-16 20:26:57 +01:00
Patrice Mandin
9131536f00
nouveau: nv10: rescale depth near and far
2007-02-16 19:54:55 +01:00
Patrice Mandin
252d1de054
nouveau: nv10: fix viewport scale and origin
2007-02-16 19:46:54 +01:00
Brian
00647c39de
remove dead code
2007-02-16 09:59:27 -07:00
Brian
c177191804
s/_slang_link2/_slang_link/
2007-02-16 09:56:19 -07:00
Brian
1c1a0a23d3
change all enum tokens to uppercase
2007-02-16 09:31:35 -07:00
Brian
d15059b128
abort upon errors (temporary)
2007-02-16 09:06:09 -07:00
Brian
d30806b0c5
added a comment
2007-02-16 09:05:11 -07:00
Brian
9ea2315d2d
Allow int->float argument conversion in _slang_locate_function().
2007-02-16 09:04:53 -07:00
Brian
d003877c66
implement IR_I_TO_F
2007-02-16 08:58:42 -07:00
Rune Peterson
e4c772bead
r300: Fix cos & add scs to fragment program.
...
So this do :
- Fixes COS.
- Does range reductions for SIN & COS.
- Adds SCS.
- removes the optimized version of SIN & COS.
- tweaked weight (should help on precision).
- fixed a copy paste typo in emit_arith().
2007-02-14 23:10:52 +01:00
Etienne Clement
1e2b469635
test for POT before using sample_2d_linear_repeat()
2007-02-14 13:21:12 -07:00
Roland Scheidegger
7d8ed0f5f5
fix typo preventing generic arrays from working with ARB_vp (bug #9952 )
2007-02-14 20:36:29 +01:00
Patrice Mandin
83cf4ce6e4
nouveau: nv10: there are 8 clipping regions
2007-02-14 20:28:31 +01:00
Roland Scheidegger
99dfca1e7f
fix stupid bug in the optimized per-vertex fog generation code
2007-02-14 16:38:32 +01:00
Thomas Hellstrom
bc82b44db9
i915tex: Take into account various mapping states when dropping the
...
batch buffer after a resolution / rotation switch.
2007-02-14 11:11:37 +01:00
Brian
ed490e4643
remove dead code
2007-02-13 09:23:00 -07:00
Xiang, Haihao
1e6688742e
I965: fix a failure on waiting irq.
...
Wait until getting the right fence if drm/i915 resets the
counter.
2007-02-12 16:38:50 +08:00
Zou Nan hai
ebcc9b5d12
fd.o #BZ 9684
...
gcc may cast an overflowed float value to an negative int value on i386,
fix it to make sure at least some apps will not crash if it contains wrong normal data.
2007-02-12 12:16:49 +08:00
Rune Peterson
ee5417bca8
r300: Add proper support for sin/cos instruction in fragment program
...
Getting proper SIN and COS wasn't as easy as it appeared.
I had to make make some changes to the fragment program code.
general FP changes:
- support HHH swizzle for vector instructions.
- don't copy a source to a temp when it is not XYZW swizzled, but
combine the two and have the swizzle resolve any issues.
(saves temps/instructions with more elaborate shader code)
- fix overflow in cnstv[].
2007-02-12 00:24:36 +01:00
Rune Peterson
3bacb68c70
ctx->Point._Size fix
2007-02-10 18:19:43 -07:00
Brian
5620392d67
add prog_debug.c
2007-02-09 15:40:15 -07:00
Brian
942ee02590
move GL_MESA_program_debug funcs to prog_debug.c
2007-02-09 15:40:00 -07:00
Brian
383ecc0374
Move experimental GL_MESA_program_debug functions into new file.
2007-02-09 15:39:32 -07:00
Brian
b3893baf80
comments, etc
2007-02-09 14:19:12 -07:00
Brian
3d479b9638
re-enable free'ing of IR trees
2007-02-09 14:18:41 -07:00
Brian
cf490a7f81
always init param vars to silence valgrind warnings
2007-02-09 12:04:52 -07:00
Roland Scheidegger
b2d30ca0cb
optimize per-pixel fog program
...
use the same internal state as for vertex fog. From the old implemenentation,
this changes a SUB+MUL into a MAD for linear fog, and saves a MUL for EXP/EXP2,
plus saves a (constant) parameter. While here, fix the broken (forgotten)
swizzling. (untested)
2007-02-09 19:21:29 +01:00
Zou Nan hai
fcccf89432
array overflow fix
2007-02-09 13:28:56 +08:00
Brian
5e6908944b
do full swizzled matching in _mesa_lookup_parameter_constant()
2007-02-08 20:39:42 -07:00
Brian
bd9615bbc5
Check for constant-valued while/do loop conditions.
...
Allows us to:
1. avoid generating constant-valued BRK test for while(1)..
2. discard entire loop for while(0).
3. detection infinite loops at compile-time.
2007-02-08 17:40:29 -07:00
Brian
c0a9f554be
optimize conditional breaks/continues
2007-02-08 17:11:18 -07:00
Roland Scheidegger
421ce180f5
r200: simplify / unify input map handling for vp and fftnl
...
Use the same input map handling for fftnl and vertex programs. It doesn't
enable any new functionality (should make it easy to support per-vertex
materials though), but the code is much cleaner.
2007-02-09 00:36:53 +01:00
Roland Scheidegger
54dac2c843
optimize generated vertex programs a bit
...
Use new internal state to avoid per-vertex normalization of static spot
direction vector. Use internal state for simpler per-vertex fog computations
(MAD instead of SUB/MUL for linear fog, EX2 instead of POW for EXP/EXP2 fog).
Simplify point size calc (2 MADs instead of MOV, MUL, MUL, DP3), and while
there fix it up (RSQ instead of RCP). All untested...
2007-02-09 00:36:40 +01:00
Roland Scheidegger
6cf892eeb6
fix issues in vp when using FRAG_BIT_WPOS in a fragment program (bug #9910 )
...
Redirect all VERT_RESULT_HPOS writes to a temp and use that for fixup.
The viewport transformation still seems to take some shortcuts, and it
still does not seem to work at all...
2007-02-09 00:25:53 +01:00
Brian
6230ae7faf
cont at top of loop, little clean-ups
2007-02-08 15:09:47 -07:00
Brian
a1c2e87c4b
remove some cruft
2007-02-08 15:08:16 -07:00
Brian
fbf0f400b7
fix broken BRA for return stmts
2007-02-08 14:10:54 -07:00
Brian
34af2b7194
consolidate BRA with BRK, CONT
2007-02-08 14:10:19 -07:00
Brian
c81aedeaec
change BranchTarget to GLint
2007-02-08 14:09:34 -07:00
Brian
b768c48547
Use conditional break in for/do/while loops.
2007-02-08 13:23:17 -07:00
Brian
97125fb370
Simplify code with eval_condition(). Implement conditional BRK.
2007-02-08 13:22:31 -07:00
Brian
2c75ef62ea
remove old loop break/cont stuff
2007-02-07 16:19:19 -07:00
Brian
b35b4566c2
high vs. low level if/then/else code emit
2007-02-07 16:11:00 -07:00
Brian
c5e6bf63e6
s/%f/%g/
2007-02-07 16:09:13 -07:00
Brian
a7c2c7d6b2
Remove old functions for generating BRA-based looping.
2007-02-07 15:14:20 -07:00
Brian
4aa487e796
Use IR_LOOP to represent do-while and for-loops.
...
Also, start moving high vs. low-level instruction selection into slang_emit.c
2007-02-07 15:12:13 -07:00
Brian
1f99a7514e
BRK and CONT work the same
2007-02-06 22:34:09 -07:00
Brian
f22ed0986a
Implement CONT, improve BRK.
...
IR_LOOP's BranchNode ptr is the head of a linked list of CONT and BRK nodes.
After emitting loop, walk over the linked list, filling in the CONT/BRK
instruction's BranchTarget field (location of the ENDLOOP instruction, or
one past).
2007-02-06 22:31:19 -07:00
Brian
5f7d4668c4
replace IR_BEGIN_LOOP/IR_END_LOOP with IR_LOOP
2007-02-06 21:33:29 -07:00
Brian
7e73bc32f5
new_node[0123]() functions
2007-02-06 20:53:09 -07:00
Brian
2043364516
redo IR_IF node, removing IR_ELSE, IR_ENDIF
2007-02-06 20:45:43 -07:00
Ben Skeggs
f46c19d965
nouveau: a couple of NV3x fixes
2007-02-06 14:01:19 +11:00
Brian
d434019633
additional comments for BranchTarget
2007-02-05 18:04:35 -07:00
Brian
2755c798f3
BRK instruction's BranchTarget field now used for efficiently breaking out of loops.
...
BRK's BranchTarget field actually points to the top of the loop, not the
bottom, since we don't know the later's location yet. In the interpreter,
basically do an indirect jump to update the PC.
2007-02-05 18:01:02 -07:00
Brian
8608079647
Use IR node's BranchNode field for IF/ELSE/ENDIF instructions.
...
This allows us to back-patch the IF/ELSE instruction's BranchTarget field
to point to the location of the ELSE/ENDIF instructions. No longer have to
search for ELSE/ENDIF in the interpreter. Also makes it trivial to translate
IF/ELSE instructions into conditional/unconditional BRA instructions.
2007-02-05 17:18:10 -07:00
Jakob Bornecrantz
8518ddda7b
Add support for CN700 chipset in miniglx
2007-02-06 10:22:47 +11:00
Brian
d9731b26e7
minor formatting changes
2007-02-05 15:17:06 -07:00
Brian
5e73284cee
set UseHighLevelInstructions = false for now
2007-02-05 15:00:48 -07:00
Brian
cf92c72797
Initial implementation of high-level flow-control instructions.
...
IF/ELSE/ENDIF and BEGIN_LOOP/END_LOOP/BREAK instructions seem to work.
Disabled by default though until better tested.
Implemented IR_NOT, but needs optimization.
2007-02-05 15:00:07 -07:00
Brian
5db088d70f
indentation for program instructions (if/else, loops)
2007-02-05 14:58:15 -07:00
Roland Scheidegger
17c13b406f
fix issues when using mixed-mode pos-invariant vp and ff tnl (bug #9856 )
...
ARB_vp requires vertex transformation to be invariant to fixed function tnl
if the position_invariant option is used. So the same function needs to be
used, otherwise z-fighting artifacts may happen with applications which rely
on the results being really the same due to precision issues when dealing with
floating point values (may not be a problem when using a non-optimizing
compiler strictly following IEEE rules).
2007-02-05 21:29:25 +01:00
Brian
01001d80e2
Initial support of loop and subroutine instructions.
...
New high-level flow-control instructions, both at IR level and GPU instructions
for looping and subroutines.
2007-02-05 11:28:15 -07:00
Brian
5b8a50572d
Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa
2007-02-05 10:29:58 -07:00
Panagiotis Papadakos
d0b5c77c68
fix mem leak
2007-02-05 10:29:10 -07:00
Brian
dd34fe8679
Merge SWvertex texcoord and varying fields into attrib[] array field.
...
Fragment texcoords and varying code is now unified in the point/line/triangle
rasterization code. In the future, merge color, fog, etc. attribs.
2007-02-05 10:10:01 -07:00
Ben Skeggs
4b3679c6c5
nouveau: OUT_RINGp expects the size in dwords, not bytes.
...
This fixes the *actual* bug that the previous commit was supposed to fix..
2007-02-06 02:29:20 +11:00
Panagiotis Papadakos
eab92fcdc2
fix mem leaks
2007-02-05 08:17:50 -07:00
Ben Skeggs
47bd759fc9
nouveau: fix a small bug in nv10 swtcl
2007-02-06 01:57:04 +11:00
Ben Skeggs
e7654b22aa
nouveau: new bufferobj code.
...
The old code suffered from a number of issues, the most severe being that
with the Mesa VBO merge even swtcl used the driver's bufferobj interface.
On most VBO types (or non-AGP cards) the buffer ended up in vram, and
killed swtcl performance greatly. All bufferobj's start in system memory
now, until they get referenced as a "real" VBO.
The other big change is that only potentially "damaged" areas are
uploaded/downloaded to/from the hardware.
2007-02-06 00:39:50 +11:00
Panagiotis Papadakos
3805ccf020
break if we removed driver from Drivers list in driDestroyDisplay
...
Else we read memory we just released, in for statement.
2007-02-05 10:35:52 +01:00
Patrice Mandin
296eeb882f
nouveau: nv10: add init for unknown 0x120
2007-02-04 13:10:23 +01:00
Stephane Marchesin
6356874586
nouveau: fix nv04 and nv10 swtcl, more work on nv04 state.
2007-02-04 03:20:01 +01:00
Brian
93b975a1d9
Add literal_size field to slang_operation.
...
Used to track the number of components in a float/int/bool literal.
Helps with some typechecking things.
Fixes problems with calls such as "distance(v2, vec2(1.0, 2.0))"
2007-02-03 17:24:24 -07:00
Brian
5ee684cba9
minor tweaks to distance() funcs
2007-02-03 17:21:33 -07:00
Brian
82f53f45d9
remove unused slang_operation fields
2007-02-03 16:25:44 -07:00
Patrice Mandin
f8ec7f1398
nouveau: forgot function declaration
2007-02-03 23:46:58 +01:00
Patrice Mandin
be85770f14
nouveau: nv50: use nv50 state
2007-02-03 23:32:12 +01:00
Brian
edf24e699e
shading language texture demo/test
2007-02-03 11:36:16 -07:00
Brian
00d63aafc6
added FLUSH_VERTICES() in _mesa_use_program()
2007-02-03 11:35:02 -07:00
Brian
8e0c6fc0be
added texdemo1
2007-02-03 11:33:13 -07:00
Brian
68fc4ff1d7
Add _NEW_PROGRAM flag to _MESA_NEW_NEED_EYE_COORDS.
...
This fixes a segfault in the texgen code that can occur after we've
disabled a vertex program.
2007-02-03 10:31:16 -07:00
Brian
49a17a45fb
Add _NEW_PROGRAM flag to _MESA_NEW_NEED_EYE_COORDS.
...
This fixes a segfault in the texgen code that can occur after we've
disabled a vertex program.
2007-02-03 10:30:50 -07:00
Michel Dänzer
5aa997dafb
Merge branch 'origin'
2007-02-03 17:37:01 +01:00
Michel Dänzer
cf4ccd5020
Fall back to software rasterization if r300_translate_fragment_shader() fails.
...
Aborting immediately is a bad idea with AIGLX.
2007-02-03 17:32:02 +01:00
Michel Dänzer
beffa17bb9
Remove unused r200 files from r300 driver directory.
2007-02-03 17:24:22 +01:00
Michel Dänzer
0afc2d37c3
r300CreateContext: Really initialize r300->initialMaxAnisotropy.
2007-02-03 17:23:19 +01:00
Patrice Mandin
de24b01b05
nouveau: fix viewport clipping initialization
2007-02-03 13:22:42 +01:00
Patrice Mandin
1c25561e30
nouveau: use color pitch as depth pitch if depth disabled
2007-02-03 13:20:16 +01:00
Roland Scheidegger
2a441c488f
disable r200 materials-between-begin-end check if vertex progs are enabled
2007-02-03 03:31:31 +01:00
Roland Scheidegger
f697308ae5
remove now unused vtxfmt stuff from radeon/r200 header files
2007-02-03 03:15:45 +01:00
Roland Scheidegger
09e4df2c65
fix errorneously adding fog state params to all vertex programs...
2007-02-03 03:15:14 +01:00
Brian
fee9bbe475
Only glUniform1i() can be used to set sampler uniforms. Generate error otherwise.
2007-02-02 18:05:43 -07:00
Brian
a90e4c3ddf
add vec4_texcube to AsmInfo[]
2007-02-02 18:00:26 -07:00
Brian
1b3092e4bb
add _slang_multiply_swizzles()
2007-02-02 18:00:03 -07:00
Brian
bf823b6b77
clean-ups
2007-02-02 16:46:50 -07:00
Brian
670e900719
clean-ups
2007-02-02 16:45:07 -07:00
Brian
31d2a00192
clean-ups
2007-02-02 16:41:52 -07:00
Brian
b4f38a4d60
remove slang_builtin_vec4.gc
2007-02-02 16:38:04 -07:00
Brian
4bbef7a644
remove slang_builtin_vec4.gc
2007-02-02 16:38:00 -07:00
Brian
d9dbb3e154
remove slang_export.[ch]
2007-02-02 16:14:55 -07:00
Brian
e1b47b68ec
reformat, clean-up comments
2007-02-02 16:12:20 -07:00
Brian
1f9def3163
move _slang_locate_function()
2007-02-02 16:10:02 -07:00
Brian
9cfee527f6
remove multibyte chars
2007-02-02 16:08:45 -07:00
Brian
3f71282850
remove unused field
2007-02-02 15:33:16 -07:00
Brian
72c3672857
remove slang_asm_string()
2007-02-02 15:32:32 -07:00
Brian
0d1cd6d41c
s/SLANG_ASSEMBLE_TYPEINFO_H/SLANG_TYPEINFO_H/
2007-02-02 15:31:21 -07:00
Brian
1bc71e32ea
s/slang_assembly_typeinfo/slang_typeinfo/
2007-02-02 15:30:50 -07:00
Brian
fe45343df9
s/slang_assembly_name_space/slang_name_space/
2007-02-02 15:29:48 -07:00
Brian
884fdfeb22
remove slang_library_texsample.[ch]
2007-02-02 15:23:38 -07:00
Brian
4a2ef4fd88
remove slang_library_texsample.[ch]
2007-02-02 15:23:33 -07:00
Brian
6c52dd3852
rename slang_link2.c slang_link.c
2007-02-02 15:22:05 -07:00
Brian
5c1763e7b5
rename slang_link2.c slang_link.c
2007-02-02 15:22:02 -07:00
Brian
f65091c947
rename slang_assemble_typeinfo.[ch] to slang_typeinfo.[ch]
2007-02-02 15:19:58 -07:00
Brian
7ace638da2
rename slang_assemble_typeinfo.[ch] to slang_typeinfo.[ch]
2007-02-02 15:19:48 -07:00
Brian
4f22bdf3e5
remove more slang assembly-related code
2007-02-02 15:17:46 -07:00
Brian
640afdf4f2
remove more slang assembly-related files, codee
2007-02-02 15:16:51 -07:00
Brian
452217e29a
removed obsolete shader assembly files
2007-02-02 15:10:34 -07:00
Brian
11e92390f6
remove more assembly-related code
2007-02-02 15:05:46 -07:00
Brian
b94c14114f
remove slang_assemble*.c files
2007-02-02 14:51:34 -07:00
Brian
8d39610037
move some functions, disable some code in preparation for removing assembly code
2007-02-02 14:51:09 -07:00
Brian
fa1fe5f6f3
fix emit_tex() breakage
2007-02-02 14:47:03 -07:00
Brian
1b24e2d5a7
remove slang_export.c and related code
2007-02-02 14:24:24 -07:00
Brian
5072fd3a64
Remove old slang linker code.
2007-02-02 14:05:55 -07:00
Brian
8b60787e85
remove slang_link.c and slang_analyse.c
2007-02-02 14:05:25 -07:00
Brian
d79fd74871
remove old linker stuff
2007-02-02 14:04:58 -07:00
Brian
a4f4ca7767
added newline at end
2007-02-02 13:54:24 -07:00
Brian
ccd3e7dcef
Remove obsolete files.
2007-02-02 13:53:28 -07:00
Brian
650d46a107
remove slang_execute.c, slang_execute_x86.c
2007-02-02 13:49:39 -07:00
Brian
d265bdf81a
Remove all dependencies on the old slang interpreter/executor.
2007-02-02 13:49:07 -07:00
Brian
aa6866d63c
reindent
2007-02-02 12:08:26 -07:00
Brian
b12b13f832
_slang_evaluate_int() no longer used
2007-02-02 12:07:57 -07:00
Brian
06daf74a71
use _slang_simplify() to evaluate array sizes
2007-02-02 12:02:53 -07:00
Brian
70570d4199
Move guts of slang_lookup_constant() into a new function in slang_simplify.c
2007-02-02 12:01:29 -07:00
Brian
5c21747783
replace abort() with _mesa_problem()
2007-02-02 11:42:04 -07:00
Brian
2f5b3c9607
fix maxInst argument
2007-02-02 11:37:58 -07:00
Brian
e53ec3a862
try to simplify variable initializers
2007-02-02 11:32:59 -07:00
Brian
6147ccba63
unroll inner loop of interpolate_varying()
2007-02-02 11:23:16 -07:00
Brian
531348e814
simplify derivative-related code
2007-02-02 11:20:08 -07:00
Brian
e4f976b8b9
simplify interpolate_texcoords()
2007-02-02 11:19:43 -07:00
Brian
9ab512ad8c
Replace color, z, w, texture interpolants with new generic attrib interpolants.
2007-02-02 11:01:01 -07:00
Brian
462d8f5faf
New span attrStart/attrStepX/attrStepY fields to replace fog, specular, etc. fields. More to come.
2007-02-02 09:46:43 -07:00
Brian
4e7fd7ad96
get rid of unused span->start field
2007-02-02 09:09:13 -07:00
Keith Whitwell
b59657ad96
Merge branch 'vbo-0.2'
...
Conflicts:
src/mesa/main/texcompress_s3tc.c
src/mesa/tnl/t_array_api.c
2007-02-02 12:26:10 +00:00
Keith Whitwell
2ddc8799a8
Merge branch 'vbo-0.2-origin' into vbo-0.2
2007-02-02 11:06:37 +00:00
Keith Whitwell
47d463e954
Modify assert to reflect rebase criteria
2007-02-02 10:59:58 +00:00
Zou Nan hai
325196f548
push commit 2dfb3a217f
to i915tex
2007-02-02 14:37:24 +08:00
Zou Nan hai
2dfb3a217f
Fix fd.o #9686 , when fall into vertex fog,
...
fog factors are precomputed in t_vb_fog.c compute_fog_blend_factors,
which is incompatible with appended fragment fog code.
That will make GoogleEarth display abnormally.
always use pixel fog.
2007-02-02 09:35:17 +08:00
Brian
9742547245
Fix logic in _slang_simplify(): vec2() constructor case wasn't getting used.
2007-02-01 18:11:19 -07:00
Roland Scheidegger
8ebda479d9
fix missing ADD_POINTERS, fixes crashes if the index elements are in a vbo.
2007-02-01 20:59:45 +01:00
Brian
abeca8d17d
comments
2007-02-01 10:08:07 -07:00
Brian
496aa47042
remove slang_label.c until it's ready
2007-02-01 09:52:26 -07:00
Brian
f3e507ef9f
New SWspanarrays attribs[] array.
...
Replace texcoord[], varying[], etc. arrays with single attribs[] array, indexed
by FRAG_ATTRIB_* values.
Eliminates need to copy data into fragment program machine input registers.
Will lead to future clean-ups.
2007-02-01 09:51:48 -07:00
Brian
81ef03be65
silence uninitialized var warning
2007-02-01 09:25:55 -07:00
Brian
8fa6f7363e
silence uninitialized var warning
2007-02-01 09:24:41 -07:00
Brian
3866558c98
move span-related types/tokens into s_span.h
2007-02-01 08:24:02 -07:00
Brian
f673b24017
additional assertions, bump up MAX_EXEC
2007-02-01 08:18:03 -07:00
Brian
af1d1e08e4
Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa
2007-02-01 07:22:50 -07:00
Brian
0930248bb1
fix mem leak in __glXReportDamage (Panagiotis Papadakos)
2007-02-01 07:22:25 -07:00
Keith Whitwell
5368ae5ec3
Correct usage/meaning of max_index parameter.
2007-02-01 14:21:14 +00:00
Keith Whitwell
605d428d20
Cope with internally-generated null inputs.
2007-02-01 14:20:31 +00:00
Michel Dänzer
8628b382e4
driDestroyDisplay: Fix comment, it is called now.
2007-02-01 10:45:51 +01:00
Michel Dänzer
bed026e7dd
driDestroyDisplay: Remove Drivers list entry when dlclosing its handle.
...
This fixes a regression from commit f81b1dbe37
:
Since then, driDestroyDisplay gets called from __glXFreeDisplayPrivate. It
dlcloses the handles associated with the display but fails to remove their
references from the Drivers list, so subsequent calls to OpenDriver return a
stale handle and an invalid createNewScreenFunc pointer. The attempt to call
the latter results in a segfault when running amoeba, e.g.
2007-02-01 10:43:10 +01:00
Roland Scheidegger
a2104dc6e1
fix unitialized values in radeonClear
2007-02-01 01:09:26 +01:00
Brian
d9d33b6fc8
disable all x86 code, broken and will eventually be removed
2007-01-31 17:01:52 -07:00
Brian
b63c100677
Overhaul handling of writemasks/swizzling. This fixes two problem cases:
...
vec2 v; v.x = v.y = 1.0; // chained assignment
vec4 v; v.zx = vec2(a,b); // swizzled writemask
2007-01-31 16:34:54 -07:00
Brian
309d5b6650
New asm instruction and IR_CLAMP node type to allow clamping to [0,1] with instruction saturate-write option. Not finished yet.
2007-01-31 08:55:10 -07:00
Brian
9d5853813f
allow fragment-only and vertex-only programs
2007-01-31 08:47:12 -07:00
Xiang, Haihao
5893474c74
_mesa_pack_rgba_span_float: fix for packing data into group
2007-01-31 09:47:02 +08:00
Brian
7162398778
fix _mesa_get_uniform_location() so it uses the given program handle
2007-01-30 16:55:03 -07:00
Keith Whitwell
893526b8a8
Use new rebase helper. Remove other rebase code.
2007-01-30 20:22:55 +00:00
Keith Whitwell
240641de0c
Helper for rebasing draw requests where min_index != 0.
2007-01-30 19:27:53 +00:00
Keith Whitwell
48c638b671
New tests for the array functions which also provoke rebasing.
2007-01-30 19:19:51 +00:00
Brian
876e372567
regenerated
2007-01-30 08:13:49 -07:00
Brian
d2c62e6065
s/params/pointer/ for glGetVertexAttribPointer
2007-01-30 08:13:02 -07:00
Brian
8811a9e38a
bump version to 6.5.3
2007-01-30 08:11:50 -07:00
Brian
fea6a8e1f1
s/params/pointer/ for glGetVertexAttribPointer
2007-01-30 08:10:03 -07:00
Brian
8be177a694
s/params/pointer/ for glGetVertexAttribPointer
2007-01-30 08:09:25 -07:00
Brian
832417f31e
s/params/pointer/ for glGetVertexAttribPointer
2007-01-30 08:02:20 -07:00
Ben Skeggs
a4ddd64f36
nouveau: argh
2007-01-30 16:51:50 +11:00
Ben Skeggs
f9345c7c4e
nouveau: misc NV40 fixes
2007-01-30 16:49:27 +11:00
Ben Skeggs
d2c4d9ff9b
nouveau: NV40 glClipPlane support.
2007-01-30 16:41:55 +11:00
Ben Skeggs
ede8017d2c
nouveau: rework shader param handling
...
Conflicts:
src/mesa/drivers/dri/nouveau/nouveau_shader_0.c
2007-01-30 16:41:20 +11:00
Ben Skeggs
de0cf18b09
nouveau: oops, build attrib map after we know how the final shader will look..
2007-01-30 16:39:31 +11:00
Ben Skeggs
2d8b316109
nouveau: remove an unused table
2007-01-30 16:39:05 +11:00
Ben Skeggs
7fbf8d3324
nouveau: oops
2007-01-30 16:38:46 +11:00
Ben Skeggs
cafbc459f5
nouveau: maintain a map of which vtxprog input corresponds to which array
2007-01-30 16:38:30 +11:00
Ben Skeggs
0c5b42a991
nouveau: unhardcode some more NV30TCL_FP_CONTROL values
2007-01-30 16:03:13 +11:00
Matthieu Castet
aa397fe472
nouveau : NOUVEAU_RING_TRACE
...
allow to print what we are really sending to the fifo.
2007-01-29 23:26:35 +01:00
Matthieu Castet
c97540065c
nouveau : nv10 comment icomplete command
2007-01-29 23:19:12 +01:00
Brian
fc5a7ea5de
noise() works now
2007-01-28 19:02:03 -07:00
Brian
7aece10039
noise functions
2007-01-28 19:01:35 -07:00
Brian
f94e4f216f
simple noise test
2007-01-28 19:01:04 -07:00
Brian
a06f929362
combine emit_unop(), emit_binop(), emit_triop() into emit_arith()
2007-01-28 16:26:09 -07:00
Brian
62e7c033c0
implement mix() with LRP instruction
2007-01-28 16:11:11 -07:00
Matthieu Castet
c7c0a6ddcd
nouveau : nv10 mixing cached stuff with not cached stuff is bad.
2007-01-28 23:26:21 +01:00
Brian
4de6fac4da
Lots of vartable clean-ups, fixes. Report an error message when we run out
...
of registers, rather than crash.
2007-01-28 12:49:47 -07:00
Brian
602dc1a638
minor clean-ups
2007-01-28 12:13:27 -07:00
Brian
bbec2fdb3a
minor updates
2007-01-28 12:11:10 -07:00
Ben Skeggs
b0e86b2dbd
nouveau: fix nv30 line width
2007-01-28 22:55:35 +11:00
Ben Skeggs
aacea52181
nouveau: initial GL_ARB_occlusion_query support
...
Only enabled on NV40, NV20/NV30 code is untested.. However, NV30
should be identical to NV40.
2007-01-28 17:02:40 +11:00
Ben Skeggs
1879069eab
nouveau: extend notifier interface to allow multiple notifiers in a memory block.
2007-01-28 16:35:32 +11:00
Brian
513325fa32
Clean-up of var/temp allocation function parameters.
2007-01-27 20:29:33 -07:00
Brian
d6772f157a
Improved register allocation: allow four 'float' vars or temporaries to share a single register. Clean-up needed.
2007-01-27 20:06:41 -07:00
Claudio Ciccani
ea55de3d65
Updated copyright header.
...
Switched to LGPL (GPL header was a cut-&-paste mistake).
2007-01-27 19:32:05 +01:00
Brian
04d60ea54c
note that non-member posts are auto-rejected
2007-01-27 06:25:31 -07:00
George Sapountzis
c00169fd25
Bug 9628: no entry for GetVertexAttribPointerv
...
This is because (in glX_API.xml) GetVertexAttribPointerv is aliased to
GetVertexAttribPointervARB which is then aliased to GetVertexAttribPointervNV.
Make GetVertexAttribPointerv alias GetVertexAttribPointervNV directly. Patch
by Ian Romanick <idr@us.ibm.com > and regenerate.
2007-01-27 09:12:57 +02:00
Brian
d8df84aae1
Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa
2007-01-26 19:08:58 -07:00
Brian
1b62353dd8
fix typo
2007-01-26 19:08:34 -07:00
Stephane Marchesin
0931e21eb6
nouveau: more work on nv04, this time buffer format/pitches/...
2007-01-27 03:08:01 +01:00
Brian
99c9bc386f
document, re-indent _mesa_ffsll()
2007-01-26 19:01:55 -07:00
Brian
1d74e565db
Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa
2007-01-26 18:55:12 -07:00
Eric Anholt
5a3d985395
Bug #9604 : Fix a static buffer allocation failure.
...
The pool that the static buffer got allocated from was sized by pitch * height,
but the buffer generated from it had its size aligned to a tile boundary, so
allocation failed if pitch * height wasn't aligned. However, the 2d driver
ensures that the size ends at a tile boundary, so just pass the 2d driver's
buffer size rather than calculating it.
2007-01-26 14:23:29 -08:00
Eric Anholt
869b8ad499
Add _mesa_ffsll() for compatibility on OSes without ffsll(), and use it.
2007-01-26 14:18:24 -08:00
Eric Anholt
dbb54b234c
Remove dead code causing a warning.
2007-01-26 14:18:24 -08:00
George Sapountzis
507167d7e2
Override Const.CheckArrayBounds for Xserver in XMesaCreateContext().
...
This leaves one last XFree86Server ifdef in Mesa core.
---
Bug 9285: misc glcore, xmesa cleanups
ACKed by Ian Romanick.
2007-01-26 18:31:44 +02:00
George Sapountzis
c9b33ecd7c
Drop old (pre-AIGLX) GLcore interface.
...
The old GLcore interface was replaced in Xorg 7.1 with the addition of AIGLX,
it is only used by DDX's which are known not to work with the new DIX glx code.
---
Bug 9285: misc glcore, xmesa cleanups
ACKed by Ian Romanick.
2007-01-26 18:31:00 +02:00
Zou Nan hai
c6c65e7b22
Merge branch 'master' of git+ssh://znh@git.freedesktop.org/git/mesa/mesa
2007-01-26 07:05:02 +08:00
Zou Nan hai
6aa62ba43f
ARB_Occlusion_query should support multiple query at same time
2007-01-26 07:04:15 +08:00
Brian
ea8b68e0f7
asst fixes, tranpose span->varying array indexes
2007-01-25 10:54:52 -07:00
Brian
ff13f0ea4d
fixes, clean-ups, transpose span->varying array indexing
2007-01-25 10:52:48 -07:00
Roland Scheidegger
38e9f8b6f2
do not rebase index buffers as it does not work currently (tested with r200 and sw mesa)
2007-01-25 18:52:40 +01:00
Brian
5ef553da9a
new comments, ideas
2007-01-25 10:51:53 -07:00
Roland Scheidegger
78b64d911b
allocate larger minimum dstelt buffer
...
increase the minimum dstelt buffer size to avoid triggering an assertion later
because the split is triggered before the buffer is full. This fixes cases
where the vbo_split_copy path is hit because of maximum index limit, where the
dstelt buffer size needed could be very small (doom3 hit that assertion with a
vertex count of just 3)
2007-01-25 16:39:02 +01:00
Roland Scheidegger
db79d7dea0
fix dstelt memory allocation to avoid hash corruption
2007-01-25 14:32:06 +01:00
Roland Scheidegger
327462d901
remove tnl/t_vtx_x86_gcc.S file from sources as it no longer exists
2007-01-25 12:12:54 +01:00
Roland Scheidegger
5970400476
re-fix bug 9062 in vbo code
2007-01-25 12:11:03 +01:00
Ben Skeggs
d5db167c2c
nouveau: unbreak NOUVEAU_RING_DEBUG
2007-01-25 15:12:49 +11:00
Ben Skeggs
86996dfe32
nouveau: add result scaling to shader backend, use it in RSQ emul for NV40.
2007-01-25 13:40:51 +11:00
Ben Skeggs
2d7687865e
nouveau: and here's the "oops, I suck" commit :)
2007-01-25 12:08:49 +11:00
Ben Skeggs
42bd32dad7
nouveau: some extra debug output
2007-01-25 11:56:45 +11:00
Brian
e713c21bd0
remove some parenthesis
2007-01-24 14:15:01 -07:00
Brian
ff917003f6
use FRAG_BIT_TEX()
2007-01-24 14:14:14 -07:00
Brian
ccea3ff8a9
fix varying interpolation
2007-01-24 14:13:36 -07:00
Brian
0552abce0e
only setup varying vars that will be used
2007-01-24 14:13:02 -07:00
Brian
07373512c7
added FRAG_BIT_TEX() and FRAG_BIT_VAR() macros
2007-01-24 14:12:08 -07:00
Zou Nan hai
844e5610de
965 glxswapcontrol fix
2007-01-24 16:07:43 +08:00
Zou Nan hai
bdc5394d22
965 ARB_Occlusion_query fix
2007-01-24 15:47:15 +08:00
Brian
c920d201c2
updated comment
2007-01-23 17:41:25 -07:00
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
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
Brian
eabb7e66bd
New _slang_adapt_call() function.
...
This is used to modify function calls (when possible) to make the arguments
map to the function parameters. This includes "unrolling" vector types
and doing casts.
Example:
vec2 v2 = vec2(1.2, 3.4)
ivec3 iv = ivec3(false, v2);
Is converted into:
ivec3 iv = ivec3(int(false), int(v2[0]), int(v2[1]))
2007-01-17 16:11:50 -07:00
Brian
397b807ad5
code clean-up, re-org. Added IR_F_TO_I support.
2007-01-17 16:05:03 -07:00
Brian
bb53124fca
added IR_F_TO_I, update comments
2007-01-17 15:58:24 -07:00
Brian
0bad236cfb
Added OPCODE_INT to convert 4 floats to 4 ints.
2007-01-17 15:54:14 -07:00
Brian
46a9241248
add texturing, other options
2007-01-17 10:25:44 -07:00
Brian
811f54fa75
Fix/clean-up a number of things related to variable/temporary allocation.
2007-01-17 09:54:31 -07:00
Keith Whitwell
3bfbe63806
New debug config for linux-dri
2007-01-17 08:44:13 +00:00
Xiang, Haihao
747c9129c0
I965: fix bug#9625-get the correct PV for quardstrip
...
The order of vertices in payload for quardstrip is (0, 1, 3, 2),
so the PV for quardstrip is c->reg.vertex[2].
2007-01-17 10:39:50 +08:00
Xiang, Haihao
afba8f0d30
Fix bug#9673
...
Cast from pointer to unsinged long and cast to pointer from
unsinged long
2007-01-17 10:17:10 +08:00
Brian
552a65e454
Implement codegen for the selection operator ( b ? x : y )
2007-01-16 17:38:39 -07:00
Brian
3596903068
fix typo
2007-01-16 16:53:41 -07:00
Brian
271d504ed7
draw a box, press 'a' to animate
2007-01-16 15:27:11 -07:00
Brian
9d0ae967d4
added some VerteAttrib funcs
2007-01-16 14:57:12 -07:00
Brian
f44ba11815
Added toyball and bumpmap tests using shaders from the OpenGL Shading Language (orange) book.
2007-01-16 14:55:43 -07:00
Brian
9b5dc1358a
when automatically binding vertex attributes, start with attrib 1, not 0
2007-01-16 14:52:22 -07:00
Brian
4f027a33b9
remove dead code
2007-01-16 14:19:37 -07:00
Brian
0f91310bf3
comments
2007-01-16 14:17:57 -07:00
Brian
d90c655b05
implement logical or, xor, not
2007-01-16 14:15:05 -07:00
Brian
99e788fe56
some additional vector constructors
2007-01-16 14:10:30 -07:00
Stephane Marchesin
7c8f311e40
nouveau: Use the most recent card list.
2007-01-16 21:43:54 +01:00
Brian
156e583a35
fix _slang_gen_subscript() for the case when a simple vector is accessed as an array: convert index to a swizzle/writemask
2007-01-16 10:45:34 -07:00
Keith Whitwell
fea6e5a695
Don't special-case index, edgeflag.
...
Remove display list opcodes for INDEX and EDGEFLAG, handle them
through the regular ATTRIB mechanism now that Mesa understands them
to just be regular attribs.
2007-01-16 13:30:04 +00:00
Keith Whitwell
c53df49b8b
Additional display list tests
2007-01-16 13:29:01 +00:00
Keith Whitwell
3ad12fab45
Merge vbo_0_1_branch
...
Hopefully leaving behind the cruft generated by the CVS import.
2007-01-16 11:24:08 +00:00
Keith Whitwell
6a3fdc3a1e
Merge branch 'master' of git+ssh://keithw@git.freedesktop.org/git/mesa/mesa into vbo-0.2
...
Conflicts:
src/mesa/array_cache/sources
src/mesa/drivers/dri/i965/brw_context.c
src/mesa/drivers/dri/i965/brw_draw.c
src/mesa/drivers/dri/i965/brw_fallback.c
src/mesa/drivers/dri/i965/brw_vs_emit.c
src/mesa/drivers/dri/i965/brw_vs_tnl.c
src/mesa/drivers/dri/mach64/mach64_context.c
src/mesa/main/extensions.c
src/mesa/main/getstring.c
src/mesa/tnl/sources
src/mesa/tnl/t_save_api.c
src/mesa/tnl/t_save_playback.c
src/mesa/tnl/t_vtx_api.c
src/mesa/tnl/t_vtx_exec.c
src/mesa/vbo/vbo_attrib.h
src/mesa/vbo/vbo_exec_api.c
src/mesa/vbo/vbo_save_api.c
src/mesa/vbo/vbo_save_draw.c
2007-01-16 11:22:57 +00:00
Keith Whitwell
0b412f8f15
Merge branch 'vbo_0_1_branch' into vbo-0.2
2007-01-16 09:47:35 +00:00
Keith Whitwell
5363e3331b
Merge branch 'master-merge' into vbo-0.2
2007-01-16 09:47:26 +00:00
Brian
0d55346156
Use arrow keys to pan and z/Z to zoom in/out to explore the fractal.
2007-01-15 17:48:19 -07:00
Brian
2ccd264695
Added new directory of GL shading language demos: glsl
2007-01-15 17:27:24 -07:00
Brian
f6507157e2
Reimplement the post-increment/decrement functions.
...
Instead of defining functions with an extra dummy parameter to distinguish
from the pre-incr/decr functions, just use new function names: __postIncr
and __postDecr.
2007-01-15 16:54:38 -07:00
Brian
c410994653
Implement the ++var and --var operators, improve some constructors.
2007-01-15 16:38:12 -07:00
Brian
0a097675f1
added vec3 constructor code
2007-01-15 16:34:33 -07:00
Brian
82258b7af3
added IR_ELEMENT
2007-01-15 16:33:54 -07:00
Brian
04ac15fd80
checkpoint: ++, -- and && operators
2007-01-15 15:51:49 -07:00
Brian
83d3ff590d
Redo the way array indexes are handled. Resolve storage location at code emit time, not codegen time.
2007-01-15 13:58:45 -07:00
Jerome Glisse
a03fc82771
mesa: Update _Current along Current on fragment program bound.
...
Same as a previously committed patch for vertex program, we
update fragment program ptr _Current along the Current one
so that _Current can't end up pointing to a no more valid
program.
2007-01-15 21:21:10 +01:00
Brian
c807169888
remove old globals
2007-01-15 11:10:11 -07:00
Brian
a5bbe206a8
comments
2007-01-15 11:08:10 -07:00
Brian
8de3dc1701
Move some global vars into slang_assemble_ctx.
2007-01-15 11:07:46 -07:00
Patrice Mandin
7520478eb0
nouveau:nv10: fix setting clip region
2007-01-15 18:58:24 +01:00
Brian
4f5901b265
fix the subassig, mulassign and divassign cases
2007-01-15 10:35:59 -07:00
Brian
629fd78f79
clean-up slang_allocate_storage()
2007-01-15 10:35:03 -07:00
Keith Whitwell
584def75ad
Remove unused index buffer.
2007-01-15 16:57:01 +00:00
Keith Whitwell
6ff9b48fe2
Don't special-case FOG attribute initialization.
...
Initial fog value was being set to {0,0,0,0}. This results in vector
size 4, but isn't necessary. The regular {0,0,0,1} works fine.
2007-01-15 14:30:16 +00:00
Keith Whitwell
50f76b9d9b
Correctly initialize current attribute sizes.
...
Some legacy attributes (eg color) have an initial value other than {0,0,0,1}
which means that their initial size != 1 either.
2007-01-15 14:20:21 +00:00
keithw
82152a2a8e
Remove debug, reenable inplace splitting.
2007-01-15 14:10:42 +00:00
Keith Whitwell
5464cd0a60
Split too-large draw commands.
...
Use the vbo_split_ functionality to split incoming drawing command
to fit within the fixed-size buffers used by software t&l module.
2007-01-15 13:54:08 +00:00
Keith Whitwell
2421b25dd7
Remove special-case handling for index and edgeflag
...
This isn't required with the changes to core mesa and the new
attribute layout.
2007-01-15 13:40:38 +00:00
keithw
1b7c24c33c
Hook in split functionality
2007-01-15 11:58:06 +00:00
keithw
4557dfe132
Add vbo_split files
2007-01-15 11:54:40 +00:00
keithw
a38cb37913
New files to manage splitting drawing commands
2007-01-15 11:52:58 +00:00
Stephane Marchesin
4c7d36b688
nouveau: Fix a bug in the nv04 swtcl.
2007-01-15 12:38:24 +01:00
Ben Skeggs
16f35a3a22
nouveau: Add 0x0244 pciid manually for now..
...
pciids.sf.net is slow to add it so our generator picks it up,
and it's *really* annoying me :)
2007-01-15 17:28:56 +11:00
Ben Skeggs
634b4b3487
nouveau: fail CreateScreen on unknown cards instead of guessing.
2007-01-15 17:23:04 +11:00
Carlos Martín Nieto
89f91d1804
nouveau: Implement much of the fog handling.
2007-01-15 00:00:30 +01:00
Stephane Marchesin
e2295511f5
nouveau: Update nouveau_reg.h from renouveau to the latest version.
2007-01-14 22:39:37 +01:00
Stephane Marchesin
65e3d5e45e
nouveau: Make the state cache hierarchical.
2007-01-14 21:17:08 +01:00
Stephane Marchesin
8d7e5651fb
nouveau: add the nv04 swtcl module (it's untested for now).
2007-01-14 20:39:00 +01:00
Stephane Marchesin
d57ce408b3
nouveau: Cleanup the nv10 swtcl module.
2007-01-14 20:39:00 +01:00
Patrice Mandin
81bd826de8
nouveau: nv10: 16 bits color buffer format
2007-01-14 20:14:58 +01:00
Patrice Mandin
eae7acac16
Merge branch 'master' of git+ssh://pmandin@git.freedesktop.org/git/mesa/mesa
2007-01-14 19:56:30 +01:00
Patrice Mandin
8aabd636f5
nouveau: nv10: added missing functions
2007-01-14 19:55:45 +01:00
Jerome Glisse
9a4e49aef2
r300: Fix vertex program position invariant bug, force position reading.
...
When we have a position invariant program we need to force routing the
position otherwise you may handle transform quite random data which might
be funny but unlikely what you want :).
2007-01-14 19:32:22 +01:00
Jerome Glisse
6dd967e74f
mesa: Update _Current ptr along Current when a new vertex program is bind.
...
On new vertex program bind only the Current ptr where updated to
point to the new program; this could lead to _Current pointing to
and out of date or even a no more existing program which in turn
could lead to a segfault in some driver. To avoid this _Current
ptr is updated along Current if _Current where previously pointing
to the same program.
2007-01-14 14:49:36 +01:00
Patrice Mandin
e7112be732
nouveau: remove already defined NV15_TCL and NV17_TCL
2007-01-14 14:11:10 +01:00
Patrice Mandin
86f10c7144
nouveau: import color material r,g,b,a
2007-01-14 14:09:04 +01:00
Patrice Mandin
faada2485a
nouveau: nv10: stencil functions
2007-01-14 14:03:42 +01:00
Patrice Mandin
29484f24fb
nouveau: nv10: currently fails initcard and bindbuffers, till done
2007-01-14 12:51:30 +01:00
Patrice Mandin
f1ad10b338
nouveau: nv10 blending done, remove nv10Viewport
2007-01-14 12:45:15 +01:00
Brian
64414ea0e9
added glUniform1fv_func, glUniform2fv_func
2007-01-13 14:51:02 -07:00
Brian
691ed5e54b
Rework code related to temp register allocation, both for user variables
...
and expression temporarires. Much better register utilization now.
Lots of other fixes.
The OpenGL GLSL "orange book" brick shader demo works now.
2007-01-13 14:49:52 -07:00
Brian
5daa99d2a4
slang_variable_scope now stores array of pointers to slang_variables.
2007-01-13 14:47:48 -07:00
Brian
97c7937c65
added another vec4 constructor, updated += operator
2007-01-13 14:46:12 -07:00
Patrice Mandin
fb5f359b93
nouveau: update nv10 state
2007-01-13 14:14:19 +01:00
Patrice Mandin
308ef2dc32
nouveau: Add clear color for nv10
2007-01-13 13:56:18 +01:00
Patrice Mandin
ca75853f9d
nv10 has alpha color mask
2007-01-13 13:22:03 +01:00
Brian
95a441112e
Fix a problem with inlined "return" statements. Make some attempt to free temporaries.
2007-01-11 11:22:26 -07:00
Brian
063f3f7fc4
disable some code that'll eventually go away
2007-01-11 11:21:38 -07:00
Brian
749ed66549
new vec3 constructor, replace float_add w/ vec4_add
2007-01-11 11:20:23 -07:00
Brian
c8e148e38c
tweak output
2007-01-11 11:19:11 -07:00
Jerome Glisse
b55f1ec9af
Fix typo from commit 1d312ae013
.
2007-01-11 12:54:42 +01:00
Brian
c0c31024a3
checkpoint: codegen for global vars/constants now working
2007-01-10 13:51:48 -07:00
Brian
88e2dbfd10
checkpoint: codegen for global vars w/ initializers
2007-01-10 13:33:38 -07:00
Brian
8a48f35574
assorted code clean-ups
2007-01-10 12:18:50 -07:00
Brian
ee11842bfc
fix size bug in _mesa_add_attribute()
2007-01-10 12:18:33 -07:00
Brian
29bff4e12d
simplify _mesa_add_state_reference()
2007-01-10 08:37:59 -07:00
Brian
88f7212312
Update _save_VertexAttrib() functions for non-aliasing behaviour.
2007-01-10 08:15:35 -07:00
Brian
01a91eb657
get rid of STATE_USER_ATTRIB/STATE_AUTO_ATTRIB
2007-01-09 19:26:22 -07:00
Brian
b7978af693
clean up a bunch of program parameter stuff
2007-01-09 19:17:17 -07:00
Brian
cc858bfa84
added a few more 2.0 functions
2007-01-09 17:49:53 -07:00
Brian
3209c3ed0d
Implement vertex attribute binding.
...
Users can set explicit binding with glBindAttribLocation(), otherwise the
linker will allocate generic attribute slots.
2007-01-09 17:49:24 -07:00
Brian
5e75db12d7
more debug code (disabled)
2007-01-09 17:47:13 -07:00
Brian
e8673143ea
add code for generic attributes 16..31
2007-01-09 17:46:45 -07:00
Eric Anholt
3dd243c59e
Track rename of DamagePost -> DamageAdd.
2007-01-09 16:39:10 -08:00
Brian
048412473b
added _mesa_count_texture_indirections(), _mesa_count_texture_instructions()
2007-01-09 11:00:47 -07:00
Brian
21f99792a9
Moved NumTexInstructions, NumTexIndirections, etc. into gl_program since
...
they can now apply to vertex programs.
2007-01-09 11:00:21 -07:00
Brian
ae80d13f6d
remove old comment
2007-01-09 10:10:59 -07:00
Brian
829da4c345
Vertex program texture samplers done, but untested (need to add TEX/TXB to
...
the T&L vertex program interpreter).
2007-01-09 09:31:30 -07:00
Brian
855ebb26d1
Implement shadow samplers and dFdx(), dFdy() code generation.
2007-01-09 09:14:32 -07:00
Roland Scheidegger
96c5db5f7a
put back missing Driver.PolygonMode call (bug 9578)
2007-01-09 14:42:22 +01:00
Michel Dänzer
dfabf96607
i915tex: Remove unused tex_program field.
2007-01-09 12:46:50 +01:00
Michel Dänzer
92fb742065
intel_finalize_mipmap_tree: Only flush batchbuffer when necessary.
2007-01-09 12:46:50 +01:00
Brian
20aec24ac7
implement biased texture functions
2007-01-08 16:56:52 -07:00
Brian
41a4e828d9
check if _Current == NULL for TXB
2007-01-08 16:49:43 -07:00
Brian
8cad795a80
added 1D texture functions
2007-01-08 16:10:55 -07:00
Brian
9a78ef980d
Remove if (tObj) conditional so that texture units without a texture image
...
return black (0,0,0,1) when sampled.
2007-01-08 16:10:34 -07:00
Brian
85e0634b54
update texture1D functions
2007-01-08 16:02:40 -07:00
Brian
42153d7858
Implement projective texture sampling, 3D textures. Disable some debug output.
2007-01-08 15:58:14 -07:00
Brian
483ca39bca
Move some code around, add some comments.
2007-01-08 14:11:54 -07:00
Brian
d3fe7398e3
Move storage allocation functions from slang_emit.c to slang_codegen.c
2007-01-08 14:06:00 -07:00
Brian
27cc9068ce
checkpoint: more work on variable/storage allocation
2007-01-08 13:36:53 -07:00
Brian
cf4d4342c9
Checkpoint: re-org of (global) variable allocation code. More to come...
2007-01-08 13:09:47 -07:00
Keith Packard
d9dd9013a8
Merge branch 'origin'
2007-01-07 23:00:48 -08:00
Ben Skeggs
026939b008
nouveau: allow the use of multiple subchannels/objects by default.
2007-01-08 11:54:39 +11:00
Keith Packard
62db3cc349
Various warning fixes for i965 driver.
...
vertex/fragment programs provided as const.
bmSetFenceLock should return bmSetFence value.
2007-01-06 17:13:45 -08:00
Keith Packard
9311c29558
Initialize GL_ARB_occlusion_query only if DRM support is present.
...
DRM versions before 1.8 do not include the necessary ioctls to support
GL_ARB_occlusion_query, don't enable it on these versions.
2007-01-06 17:13:29 -08:00
Haihao Xiang
8c1cc5fd80
i965: Support linear format in i965.
...
Signed-off-by: Keith Packard <keithp@neko.keithp.com >
2007-01-06 15:44:57 -08:00
Zou Nan hai
ef02f8be10
i965: xdemos/glxthreads get: Assertion `block->fenced' failed (9201)
...
Signed-off-by: Keith Packard <keithp@neko.keithp.com >
2007-01-06 15:18:23 -08:00
Zou Nan hai
652ae2c376
i965: Take clip rects into account when computing max prim
...
Signed-off-by: Keith Packard <keithp@neko.keithp.com >
2007-01-06 15:18:23 -08:00
Wang Zhenyu
4068e2d1b7
i965: ARB_occlusion_query support
...
Signed-off-by: Keith Packard <keithp@neko.keithp.com >
2007-01-06 15:18:23 -08:00
Eric Anholt
1b9f78195f
i965: Avoid branch instructions while in single program flow mode.
...
There is an errata for Broadwater that threads don't have the instruction/loop
mask stacks initialized on thread spawn. In single program flow mode, those
stacks are not writable, so we can't initialize them. However, they do get
read during ELSE and ENDIF instructions. So, instead, replace branch
instructions in single program flow mode with predicated jumps (ADD to the ip
register), avoiding use of the more complicated branch instructions that may
fail. This is also a minor optimization as no ENDIF equivalent is necessary.
Signed-off-by: Keith Packard <keithp@neko.keithp.com >
2007-01-06 15:18:23 -08:00
Eric Anholt
e54ec49155
i965: Connect INTEL_DEBUG=sync up to cmd/batch ioctls.
...
Signed-off-by: Keith Packard <keithp@neko.keithp.com >
2007-01-06 15:18:22 -08:00
Brian
f1fbaf39ff
Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa
2007-01-06 14:55:07 -07:00
Brian
ade39f53f6
document 32-bit Z line/point fix
2007-01-06 12:58:28 -07:00
Brian
113b0a7f2e
Use GLuint instead of GLint to store intermediate Z values. Fixes problems when using 32-bit Z buffer.
2007-01-06 12:55:17 -07:00
Eric Anholt
c2b185cff8
Add reporting of damage by DRI drivers when the extension support is available.
...
With this, tools like ximagesrc in gstreamer correctly see updates from GL
rendering. Support requires that the Xdamage library be current (but will be
disabled if not present) plus a new X Server with support for the new
XDamagePost request. libGL now has a new interface version, and also links
against libXdamage and libXfixes to support it, but backwards compatibility
is retained.
Currently, all drivers report damage at SwapBuffers time through common code --
front buffer rendering doesn't result in damage being reported. Also, the
damage is against the root window, as our drivers don't yet render to backing
store when they should (composited environments).
2007-01-05 18:23:57 -08:00
Brian
5cf7326132
Checkpoint glsl compiler work: sampler uniforms now implemented, linked properly.
2007-01-05 16:02:45 -07:00
Brian
b2ab693d68
added PROGRAM_SAMPLER
2007-01-05 16:01:43 -07:00
Brian
eef70ff79a
added Sampler field to prog_instruction struct
2007-01-05 16:01:26 -07:00
Brian
288c5396e6
added PROGRAM_SAMPLER
2007-01-05 16:01:11 -07:00
Brian
9805e76744
added _mesa_add_sampler()
2007-01-05 16:00:57 -07:00
Brian
b530d96216
Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa
2007-01-05 08:42:45 -07:00
Brian
24cf67fc73
document VBO bug fix 9445
2007-01-05 08:41:16 -07:00
Brian
7da7404fdf
Fix glPush/PopClientAttrib() for VBO state (bug 9445).
2007-01-05 08:40:06 -07:00
Ian Romanick
16f0efca60
Merge branch 'master' of ssh+git://idr@git.freedesktop.org/git/mesa/mesa
2007-01-04 18:37:10 -08:00
Brian
4cc90ee0b0
update TexturesUsed[] in slang_update_inputs_outputs()
2007-01-04 17:44:04 -07:00
Brian
4428e8f20f
update TexturesUsed[] in slang_update_inputs_outputs()
2007-01-04 17:43:53 -07:00
Brian
64f78dd6a8
compute InputsRead/OutputsWritten with slang_update_inputs_outputs()
2007-01-04 17:30:30 -07:00
Brian
c9db223f90
move TexturesUsed[] into gl_program since vertex programs/shaders can use textures nowadays
2007-01-04 17:22:19 -07:00
Brian
7edd2ecb55
simplify update_texture_state() a bit, compute _EnabledCoordUnits for shaders
2007-01-04 16:19:54 -07:00
Ian Romanick
5ca107a4f2
Use glxbyteorder.h in server-side source files.
2007-01-04 14:53:48 -08:00
Ian Romanick
6d29e1de73
Hack indent flags for indirect_reqsize.h to eliminate extra diffs.
2007-01-04 14:52:53 -08:00
Ian Romanick
92be800146
Add missing files to server generation list.
...
The files indirect_reqsize.c and indirect_reqsize.h were missing from
the list of files to be generated for the server. Add them back to
the list. Also, update the INDENT_FLAGS to prevent conversion of
'GLbyte *pc' to 'GLbyte * pc' in function prototypes.
2007-01-04 14:47:41 -08:00
Brian
ff81f074fb
minor formatting fix
2007-01-04 15:25:29 -07:00
Brian
de03fe4a3f
added texture attribs in slang_find_input()
2007-01-04 15:06:50 -07:00
Brian
7b4d10b4a3
added glUniform1i_func
2007-01-04 14:40:56 -07:00
Brian
e640300602
initial code to get texture sampling limping along
2007-01-04 14:40:02 -07:00
Brian
6a92d98d1a
temporary disable some memory deallocations to work around a memory corruption bug
2007-01-04 14:38:45 -07:00
Brian
89dc48569a
finish some loose ends in _mesa_uniform()
2007-01-04 14:35:44 -07:00
Brian
602045fd7b
update_texture_state() updated for new shaders
2007-01-04 14:33:42 -07:00
Jerome Glisse
1d312ae013
r300: Correct bug introduced by fragprog rework.
...
Thx for Tilman who spoted the bugs.
2007-01-04 20:31:35 +01:00
Brian
439758353a
Fix some incorrect GL error values. Reorganize _mesa_compile_shader() code.
2007-01-04 08:21:09 -07:00
Brian
8d287d0f5e
s/unsigned/size_t/ (Matthias Hopf)
2007-01-04 07:53:32 -07:00
Patrice Mandin
bbfd963f49
Update spot light params
2007-01-02 14:31:16 +01:00
Ben Skeggs
254ce75ac3
nouveau: bump drm patchlevel.
2007-01-02 15:59:05 +11:00
Dave Airlie
b6becfae10
fix issue with i915tex advertising visuals it can't support
...
This may not be the proper way to fix this but it does work easily.
2006-12-31 10:01:17 +11:00
Haihao Xiang
3943d7f8b1
Use the tiled flag in the sarea to determine region tiling.
...
This fixes mis-rendering if back/depth fail to get set up as tiled. While it
probably won't ever be the case now that the pitch limits are loosened, this is
still the right thing to do.
2006-12-30 10:30:42 -08:00
Ben Skeggs
8c180c72d5
nouveau: Use bufferobj interface for fragment program uploads
2006-12-27 23:53:26 +11:00
Ben Skeggs
9a20ae70ec
nouveau: Initial buffer object support
2006-12-27 23:53:25 +11:00
Ben Skeggs
1780fd4eee
nouveau: We'll need syncNotifier for NV_MEMORY_TO_MEMORY_FORMAT too.
2006-12-27 23:53:25 +11:00
Ben Skeggs
885a7cc38d
nouveau: add nouveau_mem_alloc/free debugging
2006-12-27 23:53:25 +11:00
Ben Skeggs
2dd3753450
nouveau: record *actual* type of memory that was alloc'd, not the requested types.
2006-12-27 23:53:25 +11:00
Ben Skeggs
7b59a424b5
nouveau: Typo
2006-12-27 23:53:25 +11:00
Ben Skeggs
297a35eb69
nouveau: Add simple wrapper for NV_MEMORY_TO_MEMORY_FORMAT.
2006-12-27 23:53:25 +11:00
Jerome Glisse
2dccca57e4
Deleted unused file which likely have be reintroduced during git move.
...
This file was deleted longtime ago, guess that git migration
created it again.
2006-12-26 18:42:17 +01:00
Ben Skeggs
257e3d1d59
nouveau: Make use of NOUVEAU_DEBUG for shader disasm
2006-12-26 22:03:12 +11:00
Ben Skeggs
3fcb7d388d
nouveau: Make the notifier stuff actually work..
2006-12-26 21:36:15 +11:00
Ben Skeggs
0b2b2de6cf
nouveau: Wait on notifier to check for completion of previous commands.
...
We can't wait on NV_PGRAPH_STATUS. We don't have the regs mapped, and there's
no guarantee that we'll catch PGRAPH idle when multiple channels are active.
2006-12-26 21:36:15 +11:00
Ben Skeggs
c0a63d8e5e
nouveau: Add notifier support functions
2006-12-26 21:36:15 +11:00
Jerome Glisse
b8769f318f
Rework r300 fragprog avoid using bitfield structure.
...
It seems that bitfield structure lead to some strange
problem on 64bits arch, don't want to waste time debugging
strange things like that so converted pfs_reg_t structure
to a GLuint and use good old masking and shifting spell.
(cherry picked from 2a7de9d095d8e60da12b11aaa1efe664b87b11d3 commit)
2006-12-25 23:40:20 +01:00
Ben Skeggs
d79323bd42
nouveau: Kill some compile warnings.
2006-12-24 00:50:13 +11:00
Ben Skeggs
f54c725497
nouveau: Modify span routines to use nouveau_renderbuffer instead of driRenderbuffer
2006-12-24 00:13:34 +11:00
Ben Skeggs
cb6a400dcd
nouveau: maintain numClipRects/pClipRects in context.
2006-12-23 23:51:24 +11:00
Ben Skeggs
ae8d8d1326
nouveau: Don't fill nrb->dPriv for private buffers
2006-12-23 23:03:55 +11:00
Ben Skeggs
1dd6759c05
nouveau: get 16bpp working
2006-12-23 10:56:19 +11:00
Brian
d8babcfc57
fix typos
2006-12-22 10:26:22 -07:00
Brian
aa710c3e6b
implement unary +, -
2006-12-22 10:18:50 -07:00
Brian
9b694589e9
chmod a-x
2006-12-21 18:12:03 -07:00
Brian
01f2e7f62f
checkpoint: pre/post incr/decr operators
2006-12-21 18:05:06 -07:00
Brian
392d9701e3
added INTERP_VARYING code
2006-12-21 17:50:22 -07:00
Brian
eb2a6d62f9
s/attribute/varying/
2006-12-21 17:50:07 -07:00
Brian
2905385744
comment about uniforms
2006-12-21 11:21:26 -07:00
Brian
58af54c767
checkpoint: rewrite vec/mat products
2006-12-21 10:56:09 -07:00
Brian
c155ae1dfe
fix typos
2006-12-21 10:49:27 -07:00
Brian
a0d6b506cd
added IR_NEG for negation
2006-12-21 10:47:28 -07:00
Brian
356f8ea213
checkpoint: matrix/float, unary negation rewrite
2006-12-21 10:45:49 -07:00
George Sapountzis
b766643e5c
Drop mesa wrappers for XFree86.
2006-12-21 19:41:08 +02:00
Brian
c73e07405c
checkpoint: ivec/int and mat/mat operations
2006-12-21 10:03:15 -07:00
Brian
bb1bf8b3aa
checkpoint: more basic math rewritting
2006-12-21 09:40:08 -07:00
Sean D'Epagnier
af0190bc6e
Updated keyboard input so that glut programs can read from stdin without
...
problems if tty input is used. Also corrected a few stdin keycodes.
2006-12-21 01:50:33 -07:00
Brian
a33532f5f4
checkpoint: re-org assignment operator functions
2006-12-20 18:04:59 -07:00
Brian
1ff1e89ff4
added glUniformMatrix2/3fv_func
2006-12-20 17:56:29 -07:00
Brian
cec316c9eb
checkpoint: more basic math operator re-org
2006-12-20 17:55:42 -07:00
Brian
8d239a6880
Checkpoing: re-organization of basic arithmetic functions.
2006-12-20 17:43:56 -07:00
Brian
2a62cbd24b
handle PROGRAM_UNIFORM, fix a _mesa_problem() call
2006-12-20 17:19:45 -07:00
Brian
3a8e2776a6
Uniform matrix support.
...
Implement _mesa_uniform_matrix()
Support for program parameters/uniforms with more than 4 elements.
Store 4x4 matrices in column-major order in registers.
Update mat mul built-in functions accordingly.
2006-12-20 17:19:16 -07:00
Brian
83ca3ff384
added _mesa_print_parameter_list()
2006-12-20 17:17:38 -07:00
Brian
2cc7dba718
New IR_COND node for evaluating conditional expressions (for if/while/for).
2006-12-20 12:41:59 -07:00
Brian
79a340bc15
use cast wrappers for sanity checking
2006-12-20 09:57:56 -07:00
Brian
f2923613a4
code re-org
2006-12-20 09:56:44 -07:00
Brian
d881a9c136
Minor clean-ups, reformatting, comment changes.
2006-12-20 09:31:07 -07:00
Brian
9e4bae9cca
Fix shader object reference counting and hash table deallocation.
2006-12-20 09:27:42 -07:00
Brian
65a18442e5
Clean-up and re-org of the main GLSL object types.
...
Use the gl_shader struct as it should be.
Renamed gl_linked_program to gl_shader_program.
Store both shaders and programs in the same hash table and use the Type field
to distinguish them.
2006-12-19 18:46:56 -07:00
Brian
0bf5dbe002
Overhaul of GLSL API functions, dispatching, etc.
2006-12-19 18:02:41 -07:00
Brian
5b01c5e9d2
Overhaul of GLSL API functions, dispatching, etc.
2006-12-19 18:02:03 -07:00
Brian
46b06bdb26
Massive re-org of GLSL-related API functions.
...
Added new GLSL functions to struct dd_function_table.
main/shaders.c calls GLSL functions through the dd_function_table.
shader/shader_api.c implements the API functions.
Other assorted changes, fixes everywhere else.
2006-12-19 17:59:32 -07:00
Dave Airlie
e3358dea66
Merge branch 'nouveau-import'
2006-12-20 09:30:32 +11:00
Brian
2e76f0a846
check for null Parameters ptr in _mesa_clone_program()
2006-12-19 09:52:07 -07:00
Brian
af1d46b68a
lots of clean-up and re-org
2006-12-19 08:59:51 -07:00
Brian
bb8f7627f7
additional error checking
2006-12-19 08:59:36 -07:00
Brian
8473ae475f
new error msg
2006-12-19 08:59:19 -07:00
Brian
194bc5afbd
rewrite +=, -= etc for floats
2006-12-19 08:58:56 -07:00
Brian
8e20c417d4
Implement array indexing of simple vec2/3/4 types. A bit of a hack for now...
2006-12-18 17:54:58 -07:00
Brian
d22079217c
Added instruction counter to catch infinite loops (temporary).
2006-12-18 16:22:27 -07:00
Brian
b50280e95f
Check for inst->CondUpdate, print .C suffix.
2006-12-18 16:21:58 -07:00
Brian
fbb71da2b9
Generate IR code for for/while loops, break and continue statements.
2006-12-18 14:45:26 -07:00
Brian
1aee657b0f
Implement if-conditionals and while loops, added temporary resolve-branches function in linker.
2006-12-18 10:05:24 -07:00
Brian
34ae99d604
GLSL API functions.
2006-12-18 08:28:54 -07:00
Brian
ad2519ac6b
Use _mesa_free_linked_program_data()
2006-12-18 08:28:06 -07:00
Brian
962a9f2f9d
comments
2006-12-18 08:25:23 -07:00
Ben Skeggs
53d40646bd
Don't build passthrough shader on <NV40
2006-12-17 03:38:21 +00:00
Brian
0031ea7d85
fix comment, handle NOP
2006-12-16 12:52:55 -07:00
Brian
f7159552ae
Initial code for conditional constructs.
2006-12-16 12:52:19 -07:00
Brian
3a2815370d
print BRA instructions
2006-12-16 12:51:34 -07:00
Brian
3e1f4bc15b
added cases for BRA, NOP
2006-12-16 12:51:12 -07:00
Brian
b456413d76
cases for NOP, BRA
2006-12-16 12:50:51 -07:00
Brian
b497a0cb7c
Don't update span->array->z[] values from SLANG_FRAGMENT_FIXED_FRAGDEPTH.
...
This restores the behaviour of Mesa 6.5.1, fixing a regression in 6.5.2.
See bug 9345. Revisit someday...
2006-12-16 11:17:41 -07:00
Brian
6ec4a03b9f
initial release notes for 6.5.3
2006-12-16 11:09:14 -07:00
Brian
6d982e53ee
don't allow fog when using a fragment shader (bug 9346)
2006-12-16 11:07:00 -07:00
Ben Skeggs
de947e8a5b
Get nv10_swtcl.c working enough for glxgears on NV40.
2006-12-16 12:32:11 +00:00
Brian
a4be104887
start implementing relational operators
2006-12-15 17:05:53 -07:00
Brian
cb7ccc4b14
start rewriting the matrix/vector functions
2006-12-15 16:47:42 -07:00
Brian
f167d0e7d5
added assertion to catch use of too many temporaries
2006-12-15 15:37:32 -07:00
Brian
fa8059a89c
fix double-printing of comment info
2006-12-15 15:36:29 -07:00
Brian
9b00fa9ac2
code movement
2006-12-15 15:36:09 -07:00
Brian
bfc02dd30f
Lots of assorted changes.
...
Implement assignment/move for types larger than 4 floats.
Fix codegen bug for "return expr" in inlined functions.
More clean-up of storage allocation code (slang_resolve_storage).
2006-12-15 15:35:57 -07:00
Brian
6579245800
redo mat4 addition, mat4 constructor from vec4s
2006-12-15 15:32:11 -07:00
Gary Wong
24a495fd77
Fix copy-and-paste mistake in comment ("scaling" should read "translation").
...
Before _mesa_Translatef().
2006-12-15 17:18:36 -05:00
Ben Skeggs
c340dd7d84
NV1x/2x hw_func stubs.
2006-12-15 21:02:23 +00:00
Brian
4b4632f94c
vertex/fragment program field changes
2006-12-15 10:10:23 -07:00
Brian
d6aff512fe
varying var changes
2006-12-15 10:10:01 -07:00
Brian
464b9f4f6c
varying var changes
2006-12-15 10:09:49 -07:00
Brian
9abf73b8cc
varying changes
2006-12-15 10:09:33 -07:00
Brian
a7e252026d
updated includes
2006-12-15 10:09:12 -07:00
Brian
60a7200c0d
updated includes
2006-12-15 10:08:59 -07:00
Brian
89f88058b9
use MAX_VARYING
2006-12-15 10:08:24 -07:00
Brian
e3b2668865
use MAX_VARYING
2006-12-15 10:08:15 -07:00
Brian
a7a582296b
more debug output
2006-12-15 10:08:02 -07:00
Brian
a90046f109
Lots of assorted changes for new GLSL compiler backend.
...
New datatypes, constants, variables.
2006-12-15 10:07:26 -07:00
Brian
becb393d42
Use extfuncs.h helper. Added command line options for loading
...
vertex/fragment shaders from files.
2006-12-15 09:31:14 -07:00
Brian
e55b771a1e
simple extension function wrangler
2006-12-15 09:30:31 -07:00
Brian
39adc30250
change/add/rm several filenames
2006-12-15 08:55:49 -07:00
Brian
c968d3d410
Renamed s_nvfragprog.[ch] to s_fragprog.[ch]
2006-12-15 08:50:02 -07:00
Brian
b78fb7abaf
Renamed s_nvfragprog.[ch] to s_fragprog.[ch], program_instruction.h to prog_instruction.h
2006-12-15 08:49:27 -07:00
Brian
6232438acb
remove unneeded includes
2006-12-14 15:54:01 -07:00
Brian
885afd59ec
remove unneeded includes
2006-12-14 15:53:49 -07:00
Brian
2c1f975852
remove unneded includes
2006-12-14 15:50:34 -07:00
Brian
901c1bb402
remove some unneeded includes
2006-12-14 15:49:09 -07:00
Brian
0831ef5038
include prog_print.h
2006-12-14 15:47:54 -07:00
Brian
cc6a141dc1
Remove some moved extern decls.
2006-12-14 15:47:34 -07:00
Brian
464b82b1e6
Move some code from prog_print.c to prog_instruction.c
2006-12-14 15:47:08 -07:00
Brian
0ae7404835
Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa
2006-12-14 15:20:15 -07:00
Brian
865f88afc0
Renamed from s_nvfragprog.[ch]
2006-12-14 15:14:14 -07:00
Brian
49f82803cc
Updated includes.
2006-12-14 15:13:06 -07:00
Brian
60417b646d
chmod a-x
2006-12-14 15:03:33 -07:00
Brian
57d9531cd6
Updated includes.
2006-12-14 15:03:04 -07:00
Brian
c0551f0a46
Updated includes.
2006-12-14 15:02:37 -07:00
Brian
a7a89e362b
Updated #includes after splitting program.h
2006-12-14 15:02:19 -07:00
Brian
0560d81ce9
Move many functions into new files.
2006-12-14 15:01:28 -07:00
Brian
00cdc0a472
Split the program.[ch] files into several new files.
2006-12-14 15:01:06 -07:00
Brian
5cc1292508
Replace __extension__ with LONGSTRING.
2006-12-14 14:27:05 -07:00
Brian
200736ebd8
Modify _mesa_strdup() so it handles NULL correctly.
2006-12-14 13:59:53 -07:00
Brian
cc0c8b2248
Updates for new linker (merged varying/uniform vars).
2006-12-14 13:59:25 -07:00
Brian
ef264c2971
Assorted fix-ups for the new linker.
...
Disable some of the excessive debug output.
2006-12-14 13:58:57 -07:00
Brian
d4f7e4cc01
The new linker actually does a few things right now:
...
The varying vars used by the vertex and fragment shader are merged so they
agree.
Similarly, uniforms are merged (along with constants, etc).
The vertex/fragment program instructions are then cloned and rewritten
with the newly resolved uniform/varying locations.
2006-12-14 13:58:32 -07:00
Brian
b2a3a8554a
New functions for cloning programs and parameter lists.
2006-12-14 13:56:58 -07:00
Brian
e7e4181361
Remove include of s_arbshader.h
2006-12-14 09:51:54 -07:00
Brian
b56a5261fe
Check in a long-misplaced spec update.
2006-12-14 09:38:06 -07:00
Michel Dänzer
fde908444a
Fix copy-and-paste-o of my e-mail address.
2006-12-14 12:57:59 +01:00
Michel Dänzer
e0c9361a7c
Avoid failing assertion in intel_miptree_set_image_offset() with cube maps.
...
Cube maps still aren't working quite correctly though.
2006-12-14 12:47:44 +01:00
Michel Dänzer
81855f22cd
Fix some corner cases in i945_miptree_layout_2d().
...
Based on a patch from Keith Whitwell, with some further fixes.
2006-12-14 12:42:51 +01:00
Michel Dänzer
3416ef303a
Share code to lay out >= 945 style 2D mipmaps between i915tex and i965 drivers.
...
Use the i965 version as it has some fixes over the i915tex version.
2006-12-14 12:39:38 +01:00
Michel Dänzer
cc1afed671
intel_finalize_mipmap_tree: Add more conditions for rebuilding mipmap trees.
...
These are taken from the i965 driver and fix corruption of some mipmap levels
under some circumsances with 945 chipsets at least.
Also flush the batchbuffer after copying data between trees, or some apps fail
an assertion elsewhere.
2006-12-14 11:04:10 +01:00
Michel Dänzer
5f8a3e586f
intel_batchbuffer_flush: Don't assert cliprects when lock is not held.
...
This is a legitimate situation when copying texture data between mipmap trees.
2006-12-14 11:01:39 +01:00
Michel Dänzer
4cb09df015
intelTexSubimage: Fix last parameter for intel_miptree_image_map().
2006-12-14 11:01:38 +01:00
Michel Dänzer
9c09259b8b
_mesa_swizzle_ubyte_image: Only use single swizzle_copy call when strides match.
...
This fixes texture data corruption with glTexSubimage (and probably glTexImage
under some circumstances) with the texstore swizzle path.
2006-12-14 11:01:38 +01:00
Michel Dänzer
78a6e05439
mipmap_limits: Fix display of current texture filtering mode.
2006-12-14 11:01:38 +01:00
Ben Skeggs
99878298da
Improve SwapBuffers a bit.
2006-12-14 04:34:38 +00:00
Ben Skeggs
c95557f48b
0x4497 doesn't have NV30_TCL_PRIMITIVE_3D_NORMALIZE_ENABLE
2006-12-14 04:12:05 +00:00
Ben Skeggs
15c7e8896b
Some more voodoo to get 3D going with a minimal initial context.
2006-12-14 03:24:57 +00:00
Brian
2a9950dcb3
Remove unneeded -I directories (3Dlabs headers).
2006-12-13 19:20:45 -07:00
Roland Scheidegger
2956a0c8a8
submit vertex weights to make World of Warcraft maybe happy (bug 8250)
...
submit the vertex weights to hw, which will enable broken vertex programs
errorneously using them to work. Note however that this will only work
if glWeight is used, there is no code in mesa at all to deal with weight
vertex array (glWeightPointerARB).
2006-12-14 00:34:44 +01:00
Brian
2cbfbcd972
Obsolete.
2006-12-13 15:38:07 -07:00
Brian
33ae886bbd
Remove unused 3Dlabs code.
2006-12-13 15:36:26 -07:00
Brian
aed4f2cc2c
Remove unused 3Dlabs code.
2006-12-13 15:36:00 -07:00
Brian
05dab5eaa2
Checkpoint GLSL compiler work. Add new sources, remove obsolete.
2006-12-13 15:34:10 -07:00
Brian
1fbb1c8d78
Obsolete.
2006-12-13 15:33:41 -07:00
Brian
a5011d9753
Not needed.
2006-12-13 15:33:09 -07:00
Brian
8dcfcad7a2
Move all the code for computing ctx->_TriangleCaps into state.c.
...
ctx->_TriangleCaps should probably go away altogether someday...
2006-12-13 15:31:14 -07:00
Brian
cefc983bec
Retire old GLSL shader code.
2006-12-13 15:06:28 -07:00
Brian
12ef1fbefc
Checkpoint for GLSL compiler changes.
...
In brief:
Check for enabled fragment program by looking at ctx->FragmentProgram._Current.
New code for varying variables.
2006-12-13 15:05:23 -07:00
Brian
a328e469d3
Checkpoint work for new GLSL compiler back-end.
...
Among changes:
Remove ctx->FragmentProgram._Active
Remove _UseTexEnvProgram
Move _MaintainTnlProgram, _MaintainTexEnvProgram, _TexEnvProgram and
_TnlProgram fields.
Remove/disable old GLSL interpreter code.
2006-12-13 14:58:13 -07:00
Brian
fe1d01cb39
Checkpoint of work for new GLSL compiler back-end. Lots of assorted changes.
2006-12-13 14:54:47 -07:00
Brian
8627bf1452
Rewrite/simplify most built-in functions to use updated set of __asm instructions.
2006-12-13 14:49:41 -07:00
Brian
aff8e204d2
Checkpoint new GLSL compiler back-end to produce fp/vp-style assembly instructions.
2006-12-13 14:48:36 -07:00
Brian
6c305c0831
Remove the xdemo.c program from PROGS since it doesn't work with GLX/DRI.
2006-12-13 08:57:06 -07:00
Brian
73eee2402e
Use XDisplayName() when reporting errors (bug 8079).
2006-12-13 08:30:26 -07:00
George Sapountzis
5b35132b41
Bug 7260: mach64 texture memory mng cleanup
...
mach64 uses its own set of texture memory management routines which are buggy,
running a second DRI client kills the first one. This patch ports mach64 code
to the stock dri texture managment code.
2006-12-12 12:51:37 +02:00
George Sapountzis
c180678d92
Bug 7861: mach64 with render acceleration should restore texture state
...
RENDER acceleration uses texturing, thus when RENDER acceleration is enabled,
the mach64 DRI driver should restore texture state when acquiring the DRI lock.
2006-12-12 12:51:33 +02:00
George Sapountzis
eed1a6de4b
Bug 7790: Polygons incorrectly clipped by mach64 driver
...
un-break strict-aliasing rules
2006-12-12 12:51:27 +02:00
Michel Dänzer
26626c0052
minstall: Pass correct destination file path to $RM regardless of source path.
2006-12-11 17:45:06 +01:00
Michel Dänzer
d71a5647a3
minstall: Always remove destination file before (re-)creating it.
...
This avoids issues with overwriting files that are being used.
2006-12-11 17:36:35 +01:00
Eric Anholt
d7b24fec24
i965: Fix a crash with wine by not allocating >1MB on the stack.
2006-12-09 22:35:07 -08:00
Patrice Mandin
aadcf1a9ff
Update spot light params also for nv20 and nv30
2006-12-08 18:56:51 +00:00
Patrice Mandin
5c80270b91
grr, always check twice before commit
2006-12-08 16:40:34 +00:00
Patrice Mandin
65c54a685a
Resend spot light parameters when part of it changes
2006-12-08 16:39:12 +00:00
Ben Skeggs
c04c74bc5d
Skeletal extension handling across chipsets.
2006-12-08 14:12:47 +00:00
Ben Skeggs
fe91d00e33
NV_44 uses nv30InitStateFuncs too
2006-12-08 12:36:26 +00:00
Ben Skeggs
046ece3a2d
state cache is automagically flushed on a normal BEGIN_RING_SIZE
2006-12-08 11:51:50 +00:00
Ben Skeggs
e62b2f9c2e
Implement a simple nv30Clear, and make sure we get a nouveau_renderbuffer
...
for the depth buffer and not a Mesa renderbuffer adaptor
2006-12-08 11:45:39 +00:00
Xiang, Haihao
f79360858d
fix bug#9237
2006-12-08 17:05:14 +08:00
Xiang, Haihao
5449f5a975
fix bug#9045
2006-12-08 17:00:59 +08:00
Ben Skeggs
bda66ac426
oops, typo
2006-12-08 07:27:39 +00:00
Ben Skeggs
011377622f
Create visuals for modes the ddx provides
2006-12-08 07:15:43 +00:00
Ben Skeggs
1d6f13986c
oops, we don't want this by default just yet...
2006-12-08 03:04:10 +00:00
Ben Skeggs
4cfb762c3e
Some work on buffer handling, most likely not entirely correct and
...
incomplete. But, it works well enough that windows can be
moved/resized.
2006-12-08 03:01:33 +00:00
Michel Dänzer
7a10d66590
i915tex: Recalculate viewport related hardware state in intelWindowMoved().
...
This fixes vertically displaced rendering with some apps like Google Earth.
Simplify other parts of the function somewhat.
2006-12-07 11:03:48 +01:00
Michel Dänzer
94136651c3
Make git ignore Emacs backup files.
2006-12-06 18:39:05 +01:00
Brian
fcc54b5d34
Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa
2006-12-06 08:20:57 -07:00
Brian
7f82674a7e
Updated with new mesa-commit list.
2006-12-06 08:20:03 -07:00
Michel Dänzer
75e4cfd997
Make git ignore some more generated files.
2006-12-06 15:14:43 +01:00
Michel Dänzer
b46e359f58
glxinfo: When direct rendering is not enabled, print some hints.
...
If indirect rendering is forced, say how. Otherwise, suggest setting
LIBGL_DEBUG=verbose.
Inspired by http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=379323 .
2006-12-06 14:54:43 +01:00
Michel Dänzer
14f92636b0
Make git ignore files only generated at build time.
2006-12-06 14:17:56 +01:00
Michel Dänzer
7daf301046
Re-generate options.h with Swedish translations.
2006-12-06 14:06:52 +01:00
Daniel Nylander
e8c5e0f0b4
Swedish translation of driconf options.
2006-12-06 13:21:02 +01:00
Brian
eb9033c723
Replaced by .html file.
2006-12-05 16:36:35 -07:00
Brian
4a1976b224
Replaced by .html files.
2006-12-05 16:36:12 -07:00
Brian
492e406fec
Removed/obsolete.
2006-12-05 16:27:31 -07:00
Brian
d43ccf61c2
New git repository info, links.
2006-12-05 16:14:39 -07:00
Brian
464e36391f
New info about Mesa's git repository.
2006-12-05 16:14:14 -07:00
Stephane Marchesin
3867bc9780
Fix the swtcl module.
2006-12-03 11:46:18 +00:00
Patrice Mandin
f95fe81fff
Remove duplicate nv10 tcl defines
2006-12-03 10:08:04 +00:00
Stephane Marchesin
d88d895e5a
Merge the pciid work. Use lock step versioning with the drm.
2006-12-03 09:08:26 +00:00
Ben Skeggs
b4dcb99cbc
Fix a copy+paste'o that caused some *very* strange bugs..
2006-12-03 02:01:49 +00:00
Brian Paul
45b211f9d4
version bump
2006-12-02 19:26:01 +00:00
Brian Paul
4f3ff14a06
md5 sums
2006-12-02 19:22:16 +00:00
Ben Skeggs
98818f159b
- Add InitInstruction to hw shader backend, and remove SetUnusedSource.
...
- NV30FP/NV40VP: Clear any fields before we OR new values into them
- NV40VP: It seems that it might be possible to write a result reg at the
same time a temp is written. In InitInstruction, initialise OUT_DEST to
OUT_DEST_TEMP so result regs don't get clobbered by default.
2006-11-27 01:57:37 +00:00
Ben Skeggs
2f411b0a8b
Fix RSQ emulation
2006-11-26 13:18:41 +00:00
Ben Skeggs
6ff3d2577e
Fix progs/fp/tri-xpd
...
Fragprog consts are inlined, so make sure we update *all* occurances of a
param :)
2006-11-26 10:19:44 +00:00
Ben Skeggs
9c9e6abbf8
Incomplete shader stuff, should mostly work for NV40. Other cards, not so
...
much..
2006-11-25 09:58:35 +00:00
Ben Skeggs
902b26a0d6
fix scissor
2006-11-25 06:02:10 +00:00
Patrice Mandin
2911551727
nv10,nv20,nv30: send correct values for spot light direction X,Y,Z and
...
cutoff parameter C
2006-11-24 23:34:03 +00:00
Patrice Mandin
78e5f414cb
nv10: rename spot light coefs like nv20,nv30
2006-11-24 23:23:18 +00:00
Stephane Marchesin
0faf23c26a
That was really stupid.
2006-11-23 09:21:44 +00:00
Ben Skeggs
7398748add
Some missing state init
2006-11-22 20:15:56 +00:00
Patrice Mandin
3e4a5c0642
Enable nv10 tcl state
2006-11-21 21:44:16 +00:00
Patrice Mandin
ac09b567a8
nv10,nv20: nvX0ShadeModel static function
2006-11-21 21:15:49 +00:00
Patrice Mandin
677666eb70
nv10,nv20,nv30: color light components renamed from a,b,c to r,g,b
2006-11-21 21:11:58 +00:00
Patrice Mandin
81ae0bd249
ah, correct revision now
2006-11-21 20:38:14 +00:00
Patrice Mandin
4ed78e20a4
update from renouveau
2006-11-21 20:29:09 +00:00
Patrice Mandin
b5e800068b
nv10: update state
2006-11-21 19:56:15 +00:00
Ben Skeggs
a75440bcf0
nouveauCreateDmaObject
2006-11-21 14:03:06 +00:00
Stephane Marchesin
fb65450704
Remaining state cache changes
2006-11-21 13:07:48 +00:00
Stephane Marchesin
0ea45b1ad8
Add the state caching mechanism. It seems to work, from what I can see.
2006-11-21 12:43:16 +00:00
Jeremy Kolb
a20cf73053
More state.
2006-11-21 02:47:13 +00:00
Jeremy Kolb
afb49fef90
Add state initialization to context creation.
2006-11-20 17:25:54 +00:00
Keith Whitwell
dd60eaa6d9
Don't perform dangling attribute check on POS attribute. It can't by
...
definition dangle (every vertex has a position). However
save->currentsz isn't properly maintained for this attribute, as there
is no current position value to track. Based on patch from Haihao Xiang.
2006-11-20 11:49:58 +00:00
Stephane Marchesin
50c85daf02
Cleanup the swtcl code.
2006-11-19 23:47:24 +00:00
Stephane Marchesin
ac208c95cd
Use NONINC_METHOD for vertex data.
2006-11-19 23:39:16 +00:00
Stephane Marchesin
4165a10972
More work on the swtcl
2006-11-19 23:16:29 +00:00
Stephane Marchesin
fe2e6100ec
More fifo debug fixes
2006-11-19 22:16:54 +00:00
Stephane Marchesin
a8d34992ea
Oops.
2006-11-19 21:51:28 +00:00
Stephane Marchesin
3613eba085
Fix the fifo debugging feature.
2006-11-19 21:29:41 +00:00
Stephane Marchesin
327e2c9220
New swtcl implementation. It's simpler than the previous one (doesn't use
...
templates) and it is probably faster as well
2006-11-19 20:18:45 +00:00
Ben Skeggs
a7139168d2
Don't bother touching lighting stuff if shaders are in use
2006-11-19 16:05:59 +00:00
Ben Skeggs
80a0ce37df
Fix nv30LineWidth, hw expects a ubyte.
2006-11-19 15:52:18 +00:00
Ben Skeggs
a2a747704d
Avoid sharing subchannels with the ddx until context switching is done
...
properly..
2006-11-19 15:46:31 +00:00
Ben Skeggs
b3fd1556f9
More FIFO fixes.
2006-11-19 15:45:36 +00:00
Ben Skeggs
08a0946fcc
Stupid bug..
2006-11-19 14:10:54 +00:00
Ben Skeggs
82d0fd26d4
poke the correct FIFO regs
2006-11-19 12:00:59 +00:00
Stephane Marchesin
ae9c633a21
More state functions
2006-11-18 00:36:22 +00:00
Stephane Marchesin
e722e3480f
Add nv20_state.c ; hook nv10_state.c into the build ; do the renaming
...
required by the renouveau changes.
2006-11-18 00:19:22 +00:00
Stephane Marchesin
8532b6e0a5
Small unneeded nv03 fix
2006-11-17 22:11:13 +00:00
Ben Skeggs
08020927e8
Use RENDERINPUTS macros to access render_inputs_bitset
2006-11-17 21:58:02 +00:00
Ben Skeggs
10172f7485
Adapt FIFO code to deal with cases where the base GET/PUT value isn't 0.
2006-11-17 04:50:37 +00:00
Ben Skeggs
9daf0812a1
jkolb pointed out that face can also be FRONT_AND_BACK. Added stencil funcs
2006-11-16 23:43:39 +00:00
Ben Skeggs
0da68e2e6e
Add nv30InitStateFuncs
2006-11-16 23:24:20 +00:00
Patrice Mandin
9021df2d2a
nv10 state copy/pasted from nv30 state
2006-11-16 19:50:56 +00:00
Ben Skeggs
47695f0689
Fix segfault in nouveauCalcViewport
2006-11-13 16:01:03 +00:00
Jeremy Kolb
d5d00cf8c9
Add include guard.
2006-11-12 18:18:02 +00:00
Ben Skeggs
2af374716f
Some more nouveau_screen.c setup, not sure how correct it is yet though..
2006-11-12 08:38:44 +00:00
Ben Skeggs
b8e05366e1
We need nmesa->driFd and friends setup before we call nouveauFifoInit
2006-11-12 02:06:30 +00:00
Ben Skeggs
6464787bfd
Dont call exit() from the DRI driver, with AIGLX this is particularly nasty
2006-11-12 02:05:40 +00:00
Ben Skeggs
d037c84c33
fix typo
2006-11-11 20:00:29 +00:00
Stephane Marchesin
f65a4b8a8d
Some nouveau_screen work for darktama
2006-11-11 18:25:00 +00:00
Jeremy Kolb
4f61fd18b2
Fill in nv30PointSize and nv30Viewport.
2006-11-11 16:48:14 +00:00
Stephane Marchesin
994ea9556f
Fix the texture init function name
2006-11-11 12:01:48 +00:00
Stephane Marchesin
0850289d8c
Add the GL_LIGHING enable
2006-11-11 11:25:08 +00:00
Stephane Marchesin
f82bc9110b
Some work on nv30 state, heavily based on jkolb's work
2006-11-11 00:00:45 +00:00
Stephane Marchesin
20802a7b69
Commit a small nitpick
2006-11-07 17:37:22 +00:00
Stephane Marchesin
e2b4d9b317
Architect the DRI :
...
- make use of the autogenerated nouveau_reg.h file
- add object creation to the DRI
- some work on screen and context creation
2006-11-05 13:46:48 +00:00
Keith Whitwell
188a4db49c
Fix compiler warnings.
...
Add missing code for translating non-GLuint elements.
2006-11-03 13:04:08 +00:00
Roland Scheidegger
c3da1501b8
need to call bind_arrays() in vbo_exec_DrawRangeElements.
2006-11-03 12:33:29 +00:00
Roland Scheidegger
25b2e50229
remove remaining traces of r200FlushVertices...
2006-11-03 12:30:55 +00:00
Jerome Glisse
a93f4a7310
Move r300 to new fbo interface based on Keith Whithwell.
...
Tested with progs/redbook/varray.
2006-11-02 20:44:03 +00:00
Keith Whitwell
7e9c3684ef
Fix type-conversion of incoming vertices.
...
Fix mis-application of increment to pointer variable.
2006-11-02 19:11:16 +00:00
Keith Whitwell
01e238e5d5
Fix typo in last commit
2006-11-02 19:02:04 +00:00
Keith Whitwell
301acdf34a
Similarly, fill in missing input slots in the vertex-array +
...
NV_vertex_program path.
2006-11-02 18:02:17 +00:00
Keith Whitwell
5a652f5957
Fill in missing input slots in the vertex-array + no-vertex-program
...
path.
2006-11-02 18:00:43 +00:00
Alan Hourihane
6d104cb932
merge current trunk into vbo branch
2006-11-02 12:02:13 +00:00
Keith Whitwell
18d52f96bb
Fix typo in display list attrib binding.
2006-11-02 11:40:56 +00:00
Keith Whitwell
9827dc8bea
Respect array->Normalized flag.
...
Import edgeflag attribute to array of GLbooleans as expected by
downstream code.
2006-11-02 09:48:30 +00:00
Keith Whitwell
c22f8a7787
missing file
2006-11-02 08:37:17 +00:00
Jeremy Kolb
1ebe921228
Added OUT_RING* debugging macros. Compile with NOUVEAU_RING_DEBUG to use.
2006-11-01 02:48:34 +00:00
Jeremy Kolb
2d2d617dbc
Oops. Forgot to check in the context change.
2006-11-01 02:45:12 +00:00
Jeremy Kolb
2581ba7f1e
Fix compile errors. Add vblank_seq to nouveau_context.
2006-11-01 02:44:27 +00:00
Keith Whitwell
35ee4affc5
switch remaining drivers over to vbo
2006-10-31 12:12:15 +00:00
Keith Whitwell
851d15ef3a
disable vtxfmt_a code, switch over to vbo
2006-10-31 12:11:56 +00:00
Keith Whitwell
80c88304fc
remove vtxfmt code, switch over to vbo
2006-10-31 12:11:10 +00:00
Keith Whitwell
70dd0126bd
pickup structs from vbo.h
2006-10-31 11:40:31 +00:00
Keith Whitwell
1f07439fe8
move public structure definitions to vbo.h
2006-10-31 11:39:57 +00:00
Keith Whitwell
f2eb6434ab
cleanup code, compiles with vbo changes
2006-10-31 11:28:45 +00:00
Keith Whitwell
a1a8a2c024
oops, get.c is autogenerated
2006-10-30 20:29:13 +00:00
Keith Whitwell
fd2756006a
Move edgeflag into the VERT_ATTRIB_SEVEN slot. This means that our
...
NV_vertex_program implementation has slightly incorrect aliasing
behaviour. I think this is reasonable given the simplification and
the fact that the mainstream ARB_vp continues to have the correct
behaviour.
2006-10-30 20:16:35 +00:00
Keith Whitwell
e8abd098b3
Remove wakeup functions. This code is intended to be active all the
...
time.
2006-10-30 17:12:05 +00:00
Keith Whitwell
48f5deab94
switch several dri drivers over
2006-10-30 16:56:56 +00:00
Keith Whitwell
99efde461d
better handling of current attributes. Trivial dlist and varray tests work
2006-10-30 16:44:13 +00:00
Keith Whitwell
efef291dc7
checkpoint - remove dead files, otherwise untested
2006-10-30 16:43:39 +00:00
Keith Whitwell
a3c86828ed
Fix compiler warning
2006-10-29 09:54:17 +00:00
Keith Whitwell
0a0fb5e0b3
switch over to vbo module
2006-10-29 09:52:36 +00:00
Keith Whitwell
72b68455eb
remove this module
2006-10-29 09:48:36 +00:00
Keith Whitwell
b1f176039a
Changes for new vbo-building module.
...
- Removed all the old immediate, array and display list code.
- Remove references to the old array_cache module.
- Added a _tnl_draw_prims() entrypoint.
- Added a simplified data import facility for converting
non-floating point data as required.
Checkpoint commit - trivial/tri works.
2006-10-29 09:48:15 +00:00
Keith Whitwell
fd12b37dba
Checkpoint of new vbo-building code. Currently builds regular arrays
...
rather than VBO's - VBOs are easy but need to look closer at the
driver interface. The trivial/tri demo works.
2006-10-29 09:46:11 +00:00
Ben Skeggs
a05db7f505
Kill all the current shader code.
2006-09-24 13:16:23 +00:00
Stephane Marchesin
7d907ef69c
Some small changes
2006-09-17 17:46:36 +00:00
Stephane Marchesin
473a38622e
Rename nouveau_tris.* to nouveau_swtcl.*
2006-09-17 15:30:40 +00:00
Stephane Marchesin
c67f545520
Small changes
2006-09-17 14:36:07 +00:00
Stephane Marchesin
e324c52237
Make nouveau actually compile
2006-09-17 12:09:11 +00:00
Stephane Marchesin
908388b118
Some work towards making the nv10 swtcl compile
2006-09-17 11:58:52 +00:00
Patrice Mandin
ae481e1560
oops, time to go to bed
2006-09-08 23:19:45 +00:00
Patrice Mandin
ddaf3060fa
nv10: vertex attribute output format
2006-09-08 23:18:27 +00:00
Patrice Mandin
cdd433b29b
more macros, still missing the alloc_verts one
2006-09-08 21:52:25 +00:00
Patrice Mandin
1961611247
reimport sw stuff
2006-09-08 21:41:58 +00:00
Patrice Mandin
7a968481a0
render_primitive macro
2006-09-08 21:34:47 +00:00
Patrice Mandin
07d4c63ddc
vert_copy_spec macro
2006-09-08 21:30:32 +00:00
Patrice Mandin
ad0f655376
vert_copy_rgba macro
2006-09-08 21:27:17 +00:00
Patrice Mandin
6f0388ec71
basic primitives
2006-09-08 21:23:04 +00:00
Patrice Mandin
179c1013d2
Remove useless reference to fifo_num field
2006-09-08 20:17:59 +00:00
Ben Skeggs
6d1f98da2b
A couple of quick fixes, the original had some half-finished
...
modifications..
2006-06-03 17:15:50 +00:00
Ben Skeggs
ac9d1ecec2
Another TODO, so I don't forget..
2006-06-03 16:37:46 +00:00
Ben Skeggs
5411b96c5f
Add start of vertex shader backend, will most likely not work correctly yet
2006-06-03 16:36:23 +00:00
Jeremy Kolb
13a2d6698f
More context.
2006-04-17 15:20:29 +00:00
Jeremy Kolb
ddf936193a
Changed invalid context fields to valid ones.
2006-04-17 00:08:03 +00:00
Jeremy Kolb
a7d8885768
State changes.
2006-04-15 00:21:44 +00:00
Stephane Marchesin
b0c4cfed60
More work on the tcl code... still have to make my mind on a number of
...
things
2006-04-14 23:47:45 +00:00
Jeremy Kolb
97d11ecd6c
Add more feilds to context.
2006-04-14 23:02:39 +00:00
Stephane Marchesin
911ec211a5
ooops
2006-04-14 22:59:33 +00:00
Stephane Marchesin
4c850f346b
Added render index field to the context
2006-04-14 22:58:30 +00:00
Jeremy Kolb
576b3433da
Cleaning
2006-04-14 22:50:14 +00:00
Stephane Marchesin
4b2d8b46c8
Silence the lock warning
2006-04-14 22:48:03 +00:00
Stephane Marchesin
b7d4314fe1
Added vertex attributes to the context
2006-04-14 22:43:44 +00:00
Stephane Marchesin
199512968b
Cleaned stuff in the tcl code
2006-04-14 22:41:16 +00:00
Jeremy Kolb
5fd11335f6
Added the beginnings of state (not much there yet). Fixed some includes.
2006-04-14 17:39:43 +00:00
Jeremy Kolb
f799745f50
Some compile fixes.
2006-04-13 17:03:51 +00:00
Stephane Marchesin
1c0230b396
Cleaned up some code, made more files compile. Renamed nv20_swtcl.* to
...
nv10_swtcl.*, hopefully this is the last rename (this should be, as
NV05 really behaves differently).
2006-03-13 11:30:41 +00:00
Stephane Marchesin
9ebde216cc
A little work here and there
2006-03-10 01:43:39 +00:00
Stephane Marchesin
2560e65a9a
Added a missing field
2006-03-07 00:56:30 +00:00
Stephane Marchesin
5569c2dfae
Cleaned up the software TCL code a bit. Renamed nv30_tris.[c,h] to
...
nv20_swtcl.[c,h].
2006-03-06 15:32:31 +00:00
Stephane Marchesin
98e1b13802
Added some NV20 support - nv_30_tris.c should probably be renamed again.
2006-03-06 12:23:24 +00:00
Stephane Marchesin
b9c4b7fc89
More work on the nv30 software tcl code
2006-03-06 01:46:24 +00:00
Stephane Marchesin
4af665a843
Rename nouveau_3d_reg.h to nouveau_reg.h
2006-03-03 16:10:28 +00:00
Stephane Marchesin
84a20832f1
rename nv40_tris to nv30_tris.
2006-03-03 16:08:59 +00:00
Stephane Marchesin
0e7e80ae10
Some small improvements.
2006-03-02 00:42:37 +00:00
Stephane Marchesin
bb390133b5
Import
2006-02-23 12:55:56 +00:00
Stephane Marchesin
0abf3937ce
Initial revision
2006-02-23 12:55:56 +00:00