Brian Paul [Sat, 12 Nov 2005 17:53:14 +0000 (17:53 +0000)]
Move stuff common to vertex/fragment_program into the base class, including:
Instructions, InputsRead, OutputsWritten, and Parameters.
Also, added debug functions: _mesa_print_instruction(),
_mesa_print_program_parameters() and revamp _mesa_print_program().
Brian Paul [Fri, 11 Nov 2005 15:33:36 +0000 (15:33 +0000)]
Make _mesa_is_proxy_texture() non-static and use in a few more places.
Use COPY_4FV() where possible.
Added some comments, clean-ups.
Ian Romanick [Thu, 10 Nov 2005 16:25:37 +0000 (16:25 +0000)]
Support for "fragment program to C" and TCC has been removed from the
source code, so there is no reason for this config to exist. This
fixes fdo bugzilla #5004.
Brian Paul [Thu, 10 Nov 2005 16:22:56 +0000 (16:22 +0000)]
s/MAX_LIGHTS/ctx->Const.MaxLights/ and spruce up some comments
Brian Paul [Thu, 10 Nov 2005 16:19:44 +0000 (16:19 +0000)]
fix popping of GL_SPOT_DIRECTION (bug 5005)
Brian Paul [Thu, 10 Nov 2005 05:10:49 +0000 (05:10 +0000)]
remove -DMESA_DEBUG
Brian Paul [Thu, 10 Nov 2005 05:10:25 +0000 (05:10 +0000)]
Move code to enable FP exceptions into debug.c (set MESA_DEBUG=fpexceptions).
Get rid of MESA_DEBUG preprocessor symbol, just use DEBUG instead.
Brian Paul [Wed, 9 Nov 2005 16:52:21 +0000 (16:52 +0000)]
fix popping of GL_EYE_PLANE state (bug 4996)
Brian Paul [Wed, 9 Nov 2005 16:30:50 +0000 (16:30 +0000)]
Bug 4996.
Replace use of FLOAT_TO_USHORT with either CLAMPED_FLOAT_TO_USHORT or
UNCLAMPED_FLOAT_TO_USHORT. Same should be done for UBYTE, UINT, etc.
Brian Paul [Wed, 9 Nov 2005 01:17:33 +0000 (01:17 +0000)]
use UNCLAMPED_FLOAT_TO_USHORT/UBYTE in clear_rgba_buffer() (bug #4992)
Brian Paul [Wed, 9 Nov 2005 00:56:51 +0000 (00:56 +0000)]
Move COPY_FLOAT() macro down into glide driver.
Rewrite COPY_4FV() macro to not use COPY_FLOAT(), and use integer moves as
originally intended.
Ian Romanick [Tue, 8 Nov 2005 22:54:22 +0000 (22:54 +0000)]
At keithw's request, remove all traces of the "fragment program to C" and
TCC experiment.
Ian Romanick [Tue, 8 Nov 2005 22:40:26 +0000 (22:40 +0000)]
This patch adds the missing NV_vertex_program2 and NV_vertex_program3
instructions to the various internal tables. It does not add support for
them to the parser nor does it add support for them to the program
interpreter.
It also corrects some errors in the comments in program_instruction.h.
This patch breaks the instruction union in t_vb_arbprogram.h. The opcode
field in that union was only 6 bits. When there were only 59+3 instructions
that worked fine. However, this patch increases the base instruction count
to 69. This requires 7 bits. The problem is that increasing the opcode
width to 7 bits increases the size of instruction::rsw to 33 bits. I've
increased the size of the union to 64-bit, but this is just a temporary hack
(and probably breaks the build on some systems).
Brian Paul [Tue, 8 Nov 2005 14:53:24 +0000 (14:53 +0000)]
s/_mesa_debug_fp_inst/_mesa_print_program/
Brian Paul [Tue, 8 Nov 2005 14:52:51 +0000 (14:52 +0000)]
remove _mesa_debug_fp_inst()
Brian Paul [Tue, 8 Nov 2005 14:45:48 +0000 (14:45 +0000)]
some initial work on upcoming GL_EXT_framebuffer_blit extension
Brian Paul [Tue, 8 Nov 2005 14:44:07 +0000 (14:44 +0000)]
remove a bunch of extension stuff that's in glxext.h
Brian Paul [Tue, 8 Nov 2005 14:42:52 +0000 (14:42 +0000)]
minor work in _mesa_print_program()
Brian Paul [Tue, 8 Nov 2005 14:41:41 +0000 (14:41 +0000)]
remove unneeded #includes
Brian Paul [Mon, 7 Nov 2005 17:36:34 +0000 (17:36 +0000)]
remove unneeded #includes
Brian Paul [Mon, 7 Nov 2005 16:03:46 +0000 (16:03 +0000)]
s/_mesa_debug_fp_inst/_mesa_print_program/
Brian Paul [Sat, 5 Nov 2005 20:18:51 +0000 (20:18 +0000)]
s/_mesa_debug_vp_inst/_mesa_print_program/
Brian Paul [Sat, 5 Nov 2005 20:18:18 +0000 (20:18 +0000)]
consolidate vertex/fragment program printing into _mesa_print_program()
Brian Paul [Sat, 5 Nov 2005 19:33:13 +0000 (19:33 +0000)]
use _mesa_program_file_string() and _mesa_opcode_string()
Brian Paul [Sat, 5 Nov 2005 19:32:36 +0000 (19:32 +0000)]
added _mesa_program_file_string()
Brian Paul [Sat, 5 Nov 2005 19:24:08 +0000 (19:24 +0000)]
Use _mesa_opcode_string()
Brian Paul [Sat, 5 Nov 2005 19:16:19 +0000 (19:16 +0000)]
use _mesa_num_inst_src_regs() and _mesa_opcode_string()
Brian Paul [Sat, 5 Nov 2005 19:15:27 +0000 (19:15 +0000)]
use _mesa_num_inst_src_regs() instead of nr_args()
Brian Paul [Sat, 5 Nov 2005 19:12:36 +0000 (19:12 +0000)]
added _mesa_num_inst_src_regs() and _mesa_opcode_string()
Brian Paul [Sat, 5 Nov 2005 17:23:45 +0000 (17:23 +0000)]
s/Negate/NegateBase/
Brian Paul [Sat, 5 Nov 2005 17:18:09 +0000 (17:18 +0000)]
s/TexSrcIdx/TexSrcTarget/
Brian Paul [Sat, 5 Nov 2005 17:10:45 +0000 (17:10 +0000)]
Unify vertex/fragment program instuctions.
Based on patch by Ian (#4967) but also unify instruction opcodes.
Brian Paul [Sat, 5 Nov 2005 17:08:50 +0000 (17:08 +0000)]
remove unneeded #includes
Brian Paul [Sat, 5 Nov 2005 17:07:00 +0000 (17:07 +0000)]
remove unneeded #include
Aapo Tahkola [Sat, 5 Nov 2005 14:49:26 +0000 (14:49 +0000)]
Fix broken build.
Brian Paul [Sat, 5 Nov 2005 03:12:06 +0000 (03:12 +0000)]
added MESA_GLX_ALPHA_BITS env var
Brian Paul [Sat, 5 Nov 2005 03:02:28 +0000 (03:02 +0000)]
don't need MAKE_SWIZZLE() macro
Brian Paul [Sat, 5 Nov 2005 02:15:21 +0000 (02:15 +0000)]
Replace parameter_type enum in program.[ch], use register_file enums instead.
Brian Paul [Sat, 5 Nov 2005 02:12:44 +0000 (02:12 +0000)]
minor improvements in _mesa_init_teximage_fields()
Brian Paul [Fri, 4 Nov 2005 16:52:41 +0000 (16:52 +0000)]
use VERT_RESULT_HPOS, VERT_BIT_POS tokens
Brian Paul [Fri, 4 Nov 2005 16:47:22 +0000 (16:47 +0000)]
better ffs() function (bug 4956)
Brian Paul [Fri, 4 Nov 2005 16:43:28 +0000 (16:43 +0000)]
just pass ctx to do_ndc_cliptest() rather than stuffing it in the arb_vp_machine struct
Brian Paul [Fri, 4 Nov 2005 16:41:06 +0000 (16:41 +0000)]
MESA_GLX_ALPHA_BITS env var to force visual with alpha channel
Brian Paul [Fri, 4 Nov 2005 00:58:17 +0000 (00:58 +0000)]
remove unneeded HIDDEN definition (bug 4956)
Brian Paul [Fri, 4 Nov 2005 00:52:08 +0000 (00:52 +0000)]
fix MinGW problems (bug 4956)
Adam Jackson [Thu, 3 Nov 2005 20:49:07 +0000 (20:49 +0000)]
s/dri.sourceforge.net/dri.freedesktop.org/
Brian Paul [Thu, 3 Nov 2005 03:30:34 +0000 (03:30 +0000)]
Streamline code generation by using a fixed size instruction buffer in
arb_program struct.
Brian Paul [Thu, 3 Nov 2005 02:35:15 +0000 (02:35 +0000)]
use WRITEMASK_* tokens
Brian Paul [Thu, 3 Nov 2005 02:28:47 +0000 (02:28 +0000)]
s/15/VERT_RESULT_MAX/
Brian Paul [Thu, 3 Nov 2005 02:26:47 +0000 (02:26 +0000)]
added a const, clean-up
Brian Paul [Thu, 3 Nov 2005 02:25:10 +0000 (02:25 +0000)]
fix typo, minor clean-ups
Brian Paul [Wed, 2 Nov 2005 21:01:26 +0000 (21:01 +0000)]
added osdemos/ dir to DEMO_FILES
Brian Paul [Wed, 2 Nov 2005 20:59:37 +0000 (20:59 +0000)]
implement USE_MGL_NAMESPACE for x86-64 dispatch code (Mark Bolstad)
Brian Paul [Wed, 2 Nov 2005 18:06:12 +0000 (18:06 +0000)]
Rename FRAG_OUTPUT_* tokens to FRAG_RESULT_* to match vertex program convention
Jouk Jansen [Wed, 2 Nov 2005 15:24:14 +0000 (15:24 +0000)]
Committing in .
Updated OpenVMS compile support (define tnl for include files)
Modified Files:
Mesa/src/mesa/drivers/common/descrip.mms
----------------------------------------------------------------------
Aapo Tahkola [Wed, 2 Nov 2005 14:12:52 +0000 (14:12 +0000)]
Use ctx->VertexProgram._Current .
Aapo Tahkola [Wed, 2 Nov 2005 14:07:03 +0000 (14:07 +0000)]
Remove some ghost code and adjust things a bit.
Keith Whitwell [Wed, 2 Nov 2005 12:58:38 +0000 (12:58 +0000)]
More useful ARL test
Eric Anholt [Wed, 2 Nov 2005 01:15:07 +0000 (01:15 +0000)]
First step of Radeon DRI unification:
- Makes all three drivers use the same screen structure and setup code, with a
few ifdefs for the separate compilation to deal with symbols not being
available to all drivers and the fact that we have no mechanism for dealing
with different config options for different chip families in the same driver.
These issues should be dealt with later.
- Introduces IS_R[123]00_CLASS(radeonScreenPtr) macro for code for taking
different paths depending on the general class of chipset.
- Adds many new R300-class PCI IDs, though not all those listed in
radeon_driver.c.
Keith Whitwell [Tue, 1 Nov 2005 20:29:59 +0000 (20:29 +0000)]
add an arl test
Aapo Tahkola [Tue, 1 Nov 2005 18:12:58 +0000 (18:12 +0000)]
Fix broken tnl stage.
Keith Whitwell [Tue, 1 Nov 2005 17:29:46 +0000 (17:29 +0000)]
Add a NotifyInputChanges() callback so that drivers (particularly tnl
drivers) can track when the sizes or strides of incoming VB->AttribPtr
arrays have changed.
Keith Whitwell [Tue, 1 Nov 2005 17:25:49 +0000 (17:25 +0000)]
Several fp and vp tweaks:
- Renumber VERT_RESULT_* values so that they match the
numbers of the corresponding FRAG_ATTRIB_ values.
- Add ctx->VertexProgram._Current and FragmentProgram._Current
values which point to either the current client-supplied
program if enabled, or otherwise to the current mesa-internal
program. Thus this program is always the correct one for
the current state, providing that the mesa flags to turn on
automatic generation are enabled.
- Add callbacks to ctx->Driver.BindProgram() in texenvprogram.c
and t_vp_build.c so that the driver knows when the generated
program changes. This is cleaner than trying to code all the
possible _NEW_* flags into the driver, and more precise as well.
- Add a UsesKill flag to identify fragment programs with that
instruction, as these can require special treatment.
- Move the FRAG_OUTPUT values to mtypes.h, near to similar defn's.
Aapo Tahkola [Tue, 1 Nov 2005 16:59:13 +0000 (16:59 +0000)]
Re-enable fallbacks.
Aapo Tahkola [Tue, 1 Nov 2005 15:52:08 +0000 (15:52 +0000)]
-Fix first frame -bug
-Use 16-bit elts in vtxfmt_a path if possible
-Optimize VSF param uploading
-return in r300DepthMask looks suspicious, use r300Enable instead
-Dont use r300ResetHwState in invalidate state(disabled, missing hooks, possible instabilities)
Aapo Tahkola [Tue, 1 Nov 2005 15:43:06 +0000 (15:43 +0000)]
Fix segmentation fault in _tnl_ProgramCacheDestroy().
Keith Whitwell [Tue, 1 Nov 2005 12:22:48 +0000 (12:22 +0000)]
Make colors match the fp tests (really)
Keith Whitwell [Tue, 1 Nov 2005 12:20:13 +0000 (12:20 +0000)]
Make colors match the fp tests
Keith Whitwell [Tue, 1 Nov 2005 06:28:39 +0000 (06:28 +0000)]
standalone tests for vp instructions
Brian Paul [Tue, 1 Nov 2005 04:36:33 +0000 (04:36 +0000)]
Re-org and clean-up of vertx/fragment program limits (instructions,
temporaries, parameters, etc).
glGetProgramivARB() now returns all the right things.
Updated i915 and r300 code to initialize program native limits and
current program's native instruction/temporary/etc counts.
Brian Paul [Mon, 31 Oct 2005 21:52:56 +0000 (21:52 +0000)]
fix problems found with gcc 2.96 (bug 4934)
Brian Paul [Mon, 31 Oct 2005 19:46:55 +0000 (19:46 +0000)]
check swrast->_FogEnabled instead of ctx->Fog.Enabled
Aapo Tahkola [Mon, 31 Oct 2005 14:37:33 +0000 (14:37 +0000)]
Need more than 200 instructions.
Aapo Tahkola [Mon, 31 Oct 2005 14:34:32 +0000 (14:34 +0000)]
Improve tnl program searching performance.
Brian Paul [Sun, 30 Oct 2005 21:46:00 +0000 (21:46 +0000)]
Simplify parse_attrib_binding().
Now only use VERT_ATTRIB_* and FRAG_ATTRIB_* tokens instead of
hard-coded numbers.
Note: previous check-in did similarly for output register parsing.
Brian Paul [Sun, 30 Oct 2005 21:23:23 +0000 (21:23 +0000)]
Lots of clean-up in arb program parser.
Use new _mesa_init_fp/vp_instruction() function to initialize instructions.
Brian Paul [Sun, 30 Oct 2005 16:52:02 +0000 (16:52 +0000)]
need to use absolute value for RSQ
Brian Paul [Sat, 29 Oct 2005 18:29:54 +0000 (18:29 +0000)]
added some assertions to catch unexpected swizzle values in cvp_emit_arg(), currently fails sometimes
Brian Paul [Sat, 29 Oct 2005 18:26:43 +0000 (18:26 +0000)]
Use MAKE_SWIZZLE4() macro in a few more places.
Clean up the parse_extended_swizzle_mask() and parse_swizzle_mask() functions.
Brian Paul [Sat, 29 Oct 2005 18:18:46 +0000 (18:18 +0000)]
reduced swizzle comment
Brian Paul [Sat, 29 Oct 2005 17:07:09 +0000 (17:07 +0000)]
Free old parameter list before assigning new one. FIxes memory leak.
Brian Paul [Sat, 29 Oct 2005 16:51:34 +0000 (16:51 +0000)]
added warning about use of REG_SCRATCH
Brian Paul [Sat, 29 Oct 2005 16:17:01 +0000 (16:17 +0000)]
clean-up comments
Brian Paul [Sat, 29 Oct 2005 16:15:47 +0000 (16:15 +0000)]
s/lenght/length/
Brian Paul [Sat, 29 Oct 2005 16:05:18 +0000 (16:05 +0000)]
fix LIT bug
Brian Paul [Sat, 29 Oct 2005 16:03:19 +0000 (16:03 +0000)]
fix a few bugs in SWZ execution
Brian Paul [Sat, 29 Oct 2005 15:56:53 +0000 (15:56 +0000)]
fix errors in RoughApproxPower(), do_LIT(), _tnl_program_string()
Brian Paul [Sat, 29 Oct 2005 15:52:31 +0000 (15:52 +0000)]
If parsing a program fails, don't change the vertex/fragment program object.
Specifically, don't attach a dummy program.
This change also fixes an occasional segfault.
Some code clean-ups. Use GLboolean instead of GLuint to return pass/fail.
Eric Anholt [Sat, 29 Oct 2005 00:27:01 +0000 (00:27 +0000)]
Bug #4901: Correct secondary color emission when lighting is turned off, tested
with seccolor on rv200 and r200.
Submitted by: sroland
Ian Romanick [Fri, 28 Oct 2005 18:41:03 +0000 (18:41 +0000)]
Add new test "texfilt". This test is a cousin to texwrap. Instead of
testing various texture wrap modes, this test examines various texture
filter modes, including anisotropic.
Add CFLAGS to a couple places in Makefile so that 32-bit builds on
64-bit archs will work correctly.
Brian Paul [Fri, 28 Oct 2005 15:40:08 +0000 (15:40 +0000)]
Keith's fixes for RSW and XPD (need temporaries)
Brian Paul [Fri, 28 Oct 2005 15:22:28 +0000 (15:22 +0000)]
include tnl.h to silence warning
Brian Paul [Fri, 28 Oct 2005 14:41:06 +0000 (14:41 +0000)]
Added assert that result != arg0 in do_RSW. This currently fails and needs fixing.
Brian Paul [Fri, 28 Oct 2005 14:32:49 +0000 (14:32 +0000)]
TNL module needs to implement ctx->Driver.ProgramStringNotify() function
so that calls to glProgramStringARB() to specify a new program causes the
TNL-attached data to get recomputed.
Brian Paul [Fri, 28 Oct 2005 13:12:28 +0000 (13:12 +0000)]
add newline at end of file
Brian Paul [Fri, 28 Oct 2005 13:11:00 +0000 (13:11 +0000)]
don't use -Wmissing-prototypes for C++ code
Brian Paul [Fri, 28 Oct 2005 13:09:23 +0000 (13:09 +0000)]
silence a bunch of compiler warnings
Aapo Tahkola [Fri, 28 Oct 2005 12:43:41 +0000 (12:43 +0000)]
Silence gcc-4 warnings.
Aapo Tahkola [Fri, 28 Oct 2005 12:14:58 +0000 (12:14 +0000)]
Fix texture mixup when two or more contexts.
Dave Airlie [Fri, 28 Oct 2005 12:05:25 +0000 (12:05 +0000)]
fix missing commit for span changes