Alan Hourihane [Fri, 28 Nov 2008 16:18:36 +0000 (16:18 +0000)]
Merge commit 'origin/gallium-0.1' into gallium-0.2
Conflicts:
src/gallium/auxiliary/tgsi/tgsi_sse2.c
Michal Krol [Wed, 26 Nov 2008 21:29:49 +0000 (22:29 +0100)]
tgsi: Reenable OPCODE_ARR.
Michal Krol [Wed, 26 Nov 2008 16:20:07 +0000 (17:20 +0100)]
tgsi: Fix build.
Michal Krol [Wed, 26 Nov 2008 11:56:23 +0000 (12:56 +0100)]
tgsi: Implement OPCODE_ROUND for SSE2 backend.
Michal Krol [Wed, 26 Nov 2008 12:54:28 +0000 (13:54 +0100)]
tgsi: Implement OPCODE_SSG/SGN.
Brian Paul [Wed, 26 Nov 2008 14:41:19 +0000 (07:41 -0700)]
gallium: disable TGSI_OPCODE_ARR case until emit_rnd() is redone.
Brian Paul [Wed, 26 Nov 2008 14:38:31 +0000 (07:38 -0700)]
Revert "tgsi: Implement OPCODE_ROUND for SSE2 backend."
This reverts commit
685fd2c035e284db2447ede0f6da278adaa70a0d.
Does not compile since emit_rnd() is trying to pass 4 params to
emit_func_call_dst() which takes 3 params.
Brian Paul [Wed, 26 Nov 2008 14:06:26 +0000 (07:06 -0700)]
gallium: fix glBitmap color bug
By time we get around to rendering the cached bitmap, the current color may
have changed. Need to make sure we load the constant slot with the cached
color.
Brian Paul [Wed, 26 Nov 2008 14:06:14 +0000 (07:06 -0700)]
gallium: replace 2 with PIPE_SHADER_TYPES
Michal Krol [Wed, 26 Nov 2008 12:54:28 +0000 (13:54 +0100)]
tgsi: Implement OPCODE_SSG/SGN.
Michal Krol [Wed, 26 Nov 2008 12:17:25 +0000 (13:17 +0100)]
tgsi: Implement OPCODE_ARR.
Michal Krol [Wed, 26 Nov 2008 11:56:23 +0000 (12:56 +0100)]
tgsi: Implement OPCODE_ROUND for SSE2 backend.
Michal Krol [Wed, 26 Nov 2008 12:17:25 +0000 (13:17 +0100)]
tgsi: Implement OPCODE_ARR.
Michal Krol [Wed, 26 Nov 2008 11:56:23 +0000 (12:56 +0100)]
tgsi: Implement OPCODE_ROUND for SSE2 backend.
Brian Paul [Tue, 25 Nov 2008 16:02:27 +0000 (09:02 -0700)]
gallium: added centroid/invarient fields to declarations
Michal Krol [Tue, 25 Nov 2008 12:01:06 +0000 (13:01 +0100)]
softpipe: Fix function prototype.
Alan Hourihane [Tue, 25 Nov 2008 09:28:36 +0000 (09:28 +0000)]
Merge commit 'origin/master' into gallium-0.2
Alan Hourihane [Tue, 25 Nov 2008 09:28:30 +0000 (09:28 +0000)]
Merge commit 'origin/gallium-0.1' into gallium-0.2
Conflicts:
scons/gallium.py
src/gallium/auxiliary/pipebuffer/pb_buffer.h
José Fonseca [Tue, 25 Nov 2008 05:01:40 +0000 (14:01 +0900)]
pipebuffer: Fix buffer overflow.
Brian Paul [Tue, 25 Nov 2008 01:37:18 +0000 (18:37 -0700)]
gallium: fix inverted raster pos when drawing into FBO
Brian Paul [Tue, 25 Nov 2008 00:18:56 +0000 (17:18 -0700)]
mesa: added support for GLSL 1.20 array.length() method
This is the only method supported in GLSL 1.20 so we take a few short-cuts.
Brian Paul [Mon, 24 Nov 2008 22:28:21 +0000 (15:28 -0700)]
mesa: support for GLSL 1.20 array types
This allows syntax like "float[8] foo, bar;"
Brian Paul [Mon, 24 Nov 2008 21:36:00 +0000 (14:36 -0700)]
mesa: pass shader centroid/invariant info through to the TGSI shader
Brian Paul [Mon, 24 Nov 2008 21:31:41 +0000 (14:31 -0700)]
remove some redundant rules from prev merge
Brian Paul [Mon, 24 Nov 2008 21:08:58 +0000 (14:08 -0700)]
Merge commit 'origin/master' into gallium-0.2
Conflicts:
progs/glsl/Makefile
Brian Paul [Mon, 24 Nov 2008 17:05:29 +0000 (10:05 -0700)]
tgsi: doxygen comments
Brian Paul [Mon, 24 Nov 2008 17:02:44 +0000 (10:02 -0700)]
tgsi: add tgsi_declaration fields for centroid sampling, invariant optimization
Brian Paul [Mon, 24 Nov 2008 16:28:25 +0000 (09:28 -0700)]
mesa: copy centroid/invariance/precision info in parse_init_declarator()
Brian Paul [Mon, 24 Nov 2008 16:25:05 +0000 (09:25 -0700)]
mesa: check that varying variable qualifiers agree
Brian Paul [Mon, 24 Nov 2008 16:13:14 +0000 (09:13 -0700)]
mesa: copy precision/variant/centroid info in slang_fully_specified_type_copy()
Brian Paul [Mon, 24 Nov 2008 16:05:49 +0000 (09:05 -0700)]
mesa: set flags for varying vars
Brian Paul [Mon, 24 Nov 2008 16:04:52 +0000 (09:04 -0700)]
mesa: rename program parameter flags to match other Mesa conventions
Brian Paul [Mon, 24 Nov 2008 16:04:11 +0000 (09:04 -0700)]
mesa: copy Flags in _mesa_clone_parameter_list()
Brian Paul [Mon, 24 Nov 2008 16:03:47 +0000 (09:03 -0700)]
mesa: dump/debug varying vars list
Brian Paul [Mon, 24 Nov 2008 15:43:38 +0000 (08:43 -0700)]
mesa: added PROG_PARAM_ bits for invariant, flat/linear interpolation
Plus, update the print/debug code.
Brian Paul [Mon, 24 Nov 2008 15:33:49 +0000 (08:33 -0700)]
mesa: add Flags field to gl_program_parameter
Only one flag defined so far: PROG_PARAM_CENTROID_BIT
Brian Paul [Mon, 24 Nov 2008 15:14:28 +0000 (08:14 -0700)]
docs: update webmaster email addr
Brian Paul [Tue, 11 Nov 2008 15:16:51 +0000 (08:16 -0700)]
gallium: massage sp_vbuf_draw() and sp_vbuf_draw_arrays() to look more alike
Also, update some comments.
Brian Paul [Sat, 22 Nov 2008 00:22:16 +0000 (17:22 -0700)]
mesa: issue error, don't crash, when calling a prototyped, but undefined function
Bug #18659.
Brian Paul [Fri, 21 Nov 2008 21:24:28 +0000 (14:24 -0700)]
mesa: better variable name: s/aux/store/
Brian Paul [Fri, 21 Nov 2008 17:03:19 +0000 (10:03 -0700)]
added progs/demos/fragcoord.c - tests gl_FragCoord attribute in fragment shader
Fragment's red/greenb/blue is a function gl_FragCoord.xyz
Eric Anholt [Fri, 21 Nov 2008 09:09:47 +0000 (17:09 +0800)]
i965: Add support for accelerated CopyTexSubImage.
There were hacks in EmitCopyBlit before to adjust offsets so that y=0 after
the offsets had been adjusted for a negative pitch. It appears that those
hacks were due to an unclear and surprising aspect of the hardware: inverting
the pitch results in the blit into the specified rectangle being inverted,
without the user needing to adjust y and base offset.
Tested with piglit copytexsubimage test on 915GM and GM965. Should fix
serious performance issues with ETQW and other applications.
Eric Anholt [Fri, 21 Nov 2008 04:05:21 +0000 (12:05 +0800)]
intel: Don't glBitmap fallback with scissoring enabled.
The blit bitmap code already handles scissoring. This is a 15-100% speedup on
blender benchmark.blend thanks to avoiding fallbacks. Bug #17951.
Eric Anholt [Fri, 14 Nov 2008 02:32:44 +0000 (18:32 -0800)]
i915: Don't overwrite i915's Viewport function from generic code.
Instead, have i965 and i915 both call the generic function from their Viewport.
Brian Paul [Mon, 24 Nov 2008 20:04:04 +0000 (13:04 -0700)]
mesa: add gl_program::Input/OutputFlags[] array
These arrays will indicate per-input or per-output options for vertex/fragment
programs such as centroid-sampling and invariance.
Bernd Buschinski [Mon, 24 Nov 2008 19:39:07 +0000 (11:39 -0800)]
glx: Add missing include for XCB, fixing crash on 64-bit.
Bug #18689
Jakob Bornecrantz [Mon, 24 Nov 2008 19:05:47 +0000 (20:05 +0100)]
progs: Add ignores
Jakob Bornecrantz [Mon, 24 Nov 2008 19:01:48 +0000 (20:01 +0100)]
util: Add generic tile and detile functions
Brian Paul [Mon, 24 Nov 2008 18:10:58 +0000 (11:10 -0700)]
windows: replace free() with _mesa_unreference_framebuffer()
Fixes invalid memory reference bug when exiting.
Brian Paul [Mon, 24 Nov 2008 16:28:25 +0000 (09:28 -0700)]
mesa: copy centroid/invariance/precision info in parse_init_declarator()
Brian Paul [Mon, 24 Nov 2008 16:25:05 +0000 (09:25 -0700)]
mesa: check that varying variable qualifiers agree
Brian Paul [Mon, 24 Nov 2008 16:13:14 +0000 (09:13 -0700)]
mesa: copy precision/variant/centroid info in slang_fully_specified_type_copy()
Brian Paul [Mon, 24 Nov 2008 16:05:49 +0000 (09:05 -0700)]
mesa: set flags for varying vars
Brian Paul [Mon, 24 Nov 2008 16:04:52 +0000 (09:04 -0700)]
mesa: rename program parameter flags to match other Mesa conventions
Brian Paul [Mon, 24 Nov 2008 16:04:11 +0000 (09:04 -0700)]
mesa: copy Flags in _mesa_clone_parameter_list()
Brian Paul [Mon, 24 Nov 2008 16:03:47 +0000 (09:03 -0700)]
mesa: dump/debug varying vars list
Brian Paul [Mon, 24 Nov 2008 15:43:38 +0000 (08:43 -0700)]
mesa: added PROG_PARAM_ bits for invariant, flat/linear interpolation
Plus, update the print/debug code.
Brian Paul [Mon, 24 Nov 2008 15:33:49 +0000 (08:33 -0700)]
mesa: add Flags field to gl_program_parameter
Only one flag defined so far: PROG_PARAM_CENTROID_BIT
Brian Paul [Mon, 24 Nov 2008 15:14:28 +0000 (08:14 -0700)]
docs: update webmaster email addr
José Fonseca [Mon, 24 Nov 2008 14:17:49 +0000 (23:17 +0900)]
pipebuffer: Ondemand buffer manager.
A variation of malloc buffers which get transferred to real graphics memory
when there is an attempt to validate them.
José Fonseca [Mon, 24 Nov 2008 04:59:06 +0000 (13:59 +0900)]
pipebuffer: Implement proper buffer validation.
José Fonseca [Mon, 24 Nov 2008 04:45:19 +0000 (13:45 +0900)]
gallium: Define convenience shortcuts for CPU/GPU READ/WRITE flag combinations.
José Fonseca [Mon, 24 Nov 2008 04:44:30 +0000 (13:44 +0900)]
mesa: Don't call fence_finish with a null fence.
Brian [Mon, 24 Nov 2008 02:15:15 +0000 (19:15 -0700)]
softpipe: remove old/unneeded dependencies between TGSI exec and softpipe
Use tgsi_sampler struct as a base class. Softpipe subclasses it and adds
the fields it needs.
Brian Paul [Sat, 22 Nov 2008 00:22:16 +0000 (17:22 -0700)]
mesa: issue error, don't crash, when calling a prototyped, but undefined function
Bug #18659.
Brian Paul [Fri, 21 Nov 2008 21:24:28 +0000 (14:24 -0700)]
mesa: better variable name: s/aux/store/
Brian Paul [Fri, 21 Nov 2008 20:57:57 +0000 (13:57 -0700)]
cell: only build Cell and softpipe drivers
Robert Ellison [Fri, 21 Nov 2008 18:42:14 +0000 (11:42 -0700)]
CELL: use variant-length fragment ops programs
This is a set of changes that optimizes the memory use of fragment
operation programs (by using and transmitting only as much memory as is
needed for the fragment ops programs, instead of maximal sizes), as well
as eliminate the dependency on hard-coded maximal program sizes. State
that is not dependent on fragment facing (i.e. that isn't using
two-sided stenciling) will only save and transmit a single
fragment operation program, instead of two identical programs.
- Added the ability to emit a LNOP (No Operation (Load)) instruction.
This is used to pad the generated fragment operations programs to
a multiple of 8 bytes, which is necessary for proper operation of
the dual instruction pipeline, and also required for proper SPU-side
decoding.
- Added the ability to allocate and manage a variant-length
struct cell_command_fragment_ops. This structure now puts the
generated function field at the end, where it can be as large
as necessary.
- On the PPU side, we now combine the generated front-facing and
back-facing code into a single variant-length buffer (and only use one
if the two sets of code are identical) for transmission to the SPU.
- On the SPU side, we pull the correct sizes out of the buffer,
allocate a new code buffer if the one we have isn't large enough,
and save the code to that buffer. The buffer is deallocated when
the SPU exits.
- Commented out the emit_fetch() static function, which was not being used.
Brian Paul [Fri, 21 Nov 2008 17:03:19 +0000 (10:03 -0700)]
added progs/demos/fragcoord.c - tests gl_FragCoord attribute in fragment shader
Fragment's red/greenb/blue is a function gl_FragCoord.xyz
Eric Anholt [Fri, 21 Nov 2008 09:09:47 +0000 (17:09 +0800)]
i965: Add support for accelerated CopyTexSubImage.
There were hacks in EmitCopyBlit before to adjust offsets so that y=0 after
the offsets had been adjusted for a negative pitch. It appears that those
hacks were due to an unclear and surprising aspect of the hardware: inverting
the pitch results in the blit into the specified rectangle being inverted,
without the user needing to adjust y and base offset.
Tested with piglit copytexsubimage test on 915GM and GM965. Should fix
serious performance issues with ETQW and other applications.
Eric Anholt [Fri, 21 Nov 2008 04:05:21 +0000 (12:05 +0800)]
intel: Don't glBitmap fallback with scissoring enabled.
The blit bitmap code already handles scissoring. This is a 15-100% speedup on
blender benchmark.blend thanks to avoiding fallbacks. Bug #17951.
Eric Anholt [Fri, 14 Nov 2008 02:32:44 +0000 (18:32 -0800)]
i915: Don't overwrite i915's Viewport function from generic code.
Instead, have i965 and i915 both call the generic function from their Viewport.
José Fonseca [Thu, 20 Nov 2008 20:26:52 +0000 (05:26 +0900)]
glut: MinGW portability fixes.
Still, it doesn't run as well as the glut binaries...
José Fonseca [Thu, 20 Nov 2008 20:25:31 +0000 (05:25 +0900)]
gdi: Reimplement using the WGL statetracker.
José Fonseca [Thu, 20 Nov 2008 20:24:35 +0000 (05:24 +0900)]
mesa: Bring in new mesa sub-statetracker.
Some code cleanup is still in order.
José Fonseca [Thu, 20 Nov 2008 18:40:48 +0000 (03:40 +0900)]
scons: Build progs.
Just demos and trivial dirs for starters.
Robert Ellison [Thu, 20 Nov 2008 17:00:51 +0000 (10:00 -0700)]
CELL: improve twiddling/untwiddling error text
As suggested by Brian Paul: in the case of a twiddling error, instead
of reporting the bad format number (which is all but unusable), report
the more useful enum name.
Michal Krol [Wed, 19 Nov 2008 19:31:38 +0000 (20:31 +0100)]
scons: Fix toolchain selection.
José Fonseca [Tue, 18 Nov 2008 10:13:32 +0000 (19:13 +0900)]
scons: Support MinGW32 cross compiler.
To build an alternative opengl32.dll with Gallium's software-rasterizer from a
debian-based distribution run:
sudo apt-get install mingw32
scons platform=windows toolchain=crossmingw machine=x86 winsys=gdi dri=no
Alan Hourihane [Thu, 20 Nov 2008 13:44:13 +0000 (13:44 +0000)]
Merge commit 'origin/master' into gallium-0.2
Xiang, Haihao [Thu, 20 Nov 2008 08:54:16 +0000 (16:54 +0800)]
mesa: fix shadow sampling unit issue.
texture comparison logic is bypassed if the currently bound texture is not
a depth/depth_stencil texture.
airlied [Thu, 20 Nov 2008 11:27:45 +0000 (21:27 +1000)]
intel: fix i830 comment + backwards VB offsets.
According to Keith the docs have these offsets the other way around
airlied [Thu, 20 Nov 2008 11:14:45 +0000 (21:14 +1000)]
intel: fix i8xx vbo enable bit
airlied [Thu, 20 Nov 2008 08:18:20 +0000 (18:18 +1000)]
intel: add lots of i830 engine to intel_decode debug
Brian Paul [Wed, 19 Nov 2008 23:04:37 +0000 (16:04 -0700)]
mesa: minor comment reformattting
Brian Paul [Wed, 19 Nov 2008 22:08:46 +0000 (15:08 -0700)]
mesa: glsl compiler debug code
RETURN0 macro reports file/line before returning zero.
Brian Paul [Wed, 19 Nov 2008 21:12:25 +0000 (14:12 -0700)]
mesa: rework GLSL array code generation
We now express arrays in terms of indirect addressing. For example:
dst = a[i];
becomes:
MOV dst, TEMP[1 + TEMP[2].y];
At instruction-emit time indirect addressing is converted into ARL/
ADDR-relative form:
ARL ADDR.x, TEMP[2].y;
MOV dst, TEMP[1 + ADDR.x];
This fixes a number of array-related issues. Arrays of arrays and complex
array/struct nesting works now.
There may be some regressions, but more work is coming.
Michal Krol [Wed, 19 Nov 2008 19:31:38 +0000 (20:31 +0100)]
scons: Fix toolchain selection.
Brian Paul [Fri, 14 Nov 2008 20:19:42 +0000 (13:19 -0700)]
mesa: don't realloc instruction buffer so often
Brian Paul [Fri, 14 Nov 2008 20:19:31 +0000 (13:19 -0700)]
mesa: updated comment
Keith Whitwell [Wed, 19 Nov 2008 16:04:18 +0000 (16:04 +0000)]
Merge commit 'origin/gallium-0.1' into gallium-0.2
José Fonseca [Wed, 19 Nov 2008 16:02:03 +0000 (01:02 +0900)]
python/retrace: Dump constants.
José Fonseca [Wed, 19 Nov 2008 16:01:48 +0000 (01:01 +0900)]
python: Allow to read from buffers.
José Fonseca [Wed, 19 Nov 2008 11:06:52 +0000 (20:06 +0900)]
python/retrace: Fix formatting of shaders.
José Fonseca [Wed, 19 Nov 2008 11:06:04 +0000 (20:06 +0900)]
python/retrace: Ignore irrelevant calls.
Alan Hourihane [Wed, 19 Nov 2008 09:35:37 +0000 (09:35 +0000)]
add SRGB formats
José Fonseca [Wed, 19 Nov 2008 08:17:06 +0000 (17:17 +0900)]
python/retrace: Highlight the trace dump to help to visualize.
José Fonseca [Wed, 19 Nov 2008 07:23:01 +0000 (16:23 +0900)]
python/retrace: Use the usual BSD-style license.
Xiang, Haihao [Wed, 19 Nov 2008 03:22:35 +0000 (11:22 +0800)]
mesa: clamp luminance if needed.
This fixes glReadPixels(GL_LUMINANCE, GL_FLOAT)/glGetTexImage(GL_LUMINANCE, GL_FLOAT) issue
on fixed-point color buffers.
Michal Krol [Fri, 14 Nov 2008 12:31:06 +0000 (13:31 +0100)]
tgsi: Return 0.0 for negative constant register indices.