Brian Paul [Sat, 21 Feb 2009 20:59:29 +0000 (13:59 -0700)]
mesa: use an array for default texture objects
Replace Default1D/2D/3D/Cube/etc with DefaultTex[TEXTURE_x_INDEX].
The same should be done with the Current1D/2D/3D/etc pointers...
Brian Paul [Sat, 21 Feb 2009 20:23:04 +0000 (13:23 -0700)]
mesa: re-org texgen state
New gl_texgen struct allows quite a bit of code reduction.
Kristian Høgsberg [Fri, 13 Feb 2009 16:05:54 +0000 (11:05 -0500)]
intel: Fix intelSetTexBuffer miptree leak.
The intelImage also holds a reference to the miptree, so unref that as well.
Eric Anholt [Wed, 18 Feb 2009 19:34:47 +0000 (11:34 -0800)]
intel: tell libdrm whether we want a cpu-ready or gpu-ready BO for regions.
This lets us avoid allocing new buffers for renderbuffers, finalized miptrees,
and PBO-uploaded textures when there's an unreferenced but still active one
cached, while also avoiding CPU waits for batchbuffers and CPU-uploaded
textures. The size of BOs allocated for a desktop running current GL
cairogears on i915 is cut in half with this.
Note that this means we require libdrm 2.4.5.
Eric Anholt [Thu, 19 Feb 2009 21:53:46 +0000 (13:53 -0800)]
i965: Fix render target read domains.
We were asking for something illegal (write_domain != 0 && read_domains !=
write_domain) because at the time of writing the region surfaces were used
for texturing occasionally as well, and we weren't really clear on the model
GEM was going to use.
This reliably triggered a kernel bug with domain handling, resulting in
oglconform mustpass.c failure. Of course, it only became visible after
01bc4d441fd6821ad9fc20d5e9544e4e587e4ff0 cleaned up some gratuitous flushing.
Brian Paul [Fri, 20 Feb 2009 21:06:25 +0000 (14:06 -0700)]
gallium: use the TGSI_TEXTURE_SHADOW1D/2D/RECT texture types for TEX instructions
These texture types were defined but never put to use.
For the time being though, the Mesa->TGSI translater isn't emitting these
targets. See the XXX comment in map_texture_target().
Brian Paul [Fri, 20 Feb 2009 20:50:27 +0000 (13:50 -0700)]
i965: use the new prog_instruction::TexShadow field
GLSL shadow() sampler calls are properly propogated down to the driver now.
The glean glsl1 shadow() tests work (except for the alpha channel).
Brian Paul [Fri, 20 Feb 2009 20:48:44 +0000 (13:48 -0700)]
i965: check depth_mode in translate_tex_format() for MESA_FORMAT_S8_Z24
Note that I24X8 vs. A24X8 vs. L24X8 doesn't seem to make any difference
for texture/shadow compare, however.
Brian Paul [Fri, 20 Feb 2009 20:44:43 +0000 (13:44 -0700)]
glsl: use new IR opcodes for TEX instructions with shadow comparison
Such TEX instructions will have the TexShadow flag set.
The gl_program::ShadowSamplers field is now set in the linker. We missed
that before.
Brian Paul [Fri, 20 Feb 2009 20:42:08 +0000 (13:42 -0700)]
mesa: add TexShadow field to prog_instruction
If the instruction is TEX/TXP/TXL/etc the TexShadow field will be true if
the instruction is a texture fetch with shadow compare.
Brian Paul [Fri, 20 Feb 2009 19:23:25 +0000 (12:23 -0700)]
i965: separate emit_op() and emit_tex_op() functions
Brian Paul [Fri, 20 Feb 2009 18:24:15 +0000 (11:24 -0700)]
mesa: freshen-up comments, move some fields in prog_instruction
Brian Paul [Fri, 20 Feb 2009 17:49:30 +0000 (10:49 -0700)]
i965: update comment, use const qualifier
Brian Paul [Fri, 20 Feb 2009 17:48:52 +0000 (10:48 -0700)]
i965: var renaming, clean-up
Brian Paul [Fri, 20 Feb 2009 17:48:20 +0000 (10:48 -0700)]
i965: added comment
Brian Paul [Fri, 20 Feb 2009 17:47:28 +0000 (10:47 -0700)]
intel: fix datatype typo, s/GLboolean/GLuint/
Fixes mysterious failures in glean glsl1 test.
Brian Paul [Fri, 20 Feb 2009 15:31:02 +0000 (08:31 -0700)]
i965: additional debug output
Brian Paul [Fri, 20 Feb 2009 18:44:17 +0000 (11:44 -0700)]
glsl: rename GLSL texture assembly instructions to be more legible
Brian Paul [Fri, 20 Feb 2009 18:42:28 +0000 (11:42 -0700)]
glsl: fix vec4_texp_rect IR code (need projective version)
Keith Whitwell [Fri, 20 Feb 2009 14:27:23 +0000 (14:27 +0000)]
util/debug: need to fflush(stderr) on windows
Hard to believe... but true.
José Fonseca [Fri, 20 Feb 2009 14:14:19 +0000 (14:14 +0000)]
util: Also output messages to stderr on windows.
When there is a console attached, and no debugger attached.
José Fonseca [Fri, 20 Feb 2009 11:35:46 +0000 (11:35 +0000)]
wgl: Prevent null pointer reference.
José Fonseca [Fri, 20 Feb 2009 11:35:23 +0000 (11:35 +0000)]
util: Stack backtracing facilities.
Not much useful until we have symbol lookup.
Jakob Bornecrantz [Fri, 20 Feb 2009 11:03:18 +0000 (11:03 +0000)]
gallium: s/GALLIUM_DRIVER_DIRS/GALLIUM_DRIVERS_DIRS/
Jakob Bornecrantz [Thu, 19 Feb 2009 23:50:26 +0000 (00:50 +0100)]
gallium: Improve recursive makefiles
Jakob Bornecrantz [Thu, 19 Feb 2009 23:47:46 +0000 (00:47 +0100)]
gallium: Improve winsys dri template Makefile
LIBNAME_EGL had to be removed since if you didn't
set it (nobody set it anyways) make would get it
confused it with the $(TOP)/lib/gallium target.
Jakob Bornecrantz [Thu, 19 Feb 2009 23:23:29 +0000 (00:23 +0100)]
intel: Use new makefile template for drm gem
Jakob Bornecrantz [Thu, 19 Feb 2009 23:22:07 +0000 (00:22 +0100)]
nouveau: Use new makefile template for drm common
Jakob Bornecrantz [Thu, 19 Feb 2009 23:14:00 +0000 (00:14 +0100)]
gallium: Improve makefiles for libraries
The template makefile that most libraries in
gallium included was based on dri and had a bunch
unrelevant junk in it.
Update it and improve the depending makefiles.
Ben Skeggs [Thu, 19 Feb 2009 23:47:56 +0000 (09:47 +1000)]
nouveau: reenable all the non-nv50 pipe drivers
They still won't build yet, but anyway..
Ben Skeggs [Thu, 19 Feb 2009 23:39:13 +0000 (09:39 +1000)]
nv50: remove unused variable
Ben Skeggs [Thu, 19 Feb 2009 23:38:06 +0000 (09:38 +1000)]
nv50: fix occlusion queries
Left behind from some gallium changes a while back..
Ben Skeggs [Thu, 19 Feb 2009 23:32:47 +0000 (09:32 +1000)]
nv50: rework for texture_transfer changes
Jakob Bornecrantz [Thu, 19 Feb 2009 22:15:28 +0000 (23:15 +0100)]
gallium: Renable pipe drivers disabled during vbuf changes
i965simple is not enabled because it is still broken.
Jakob Bornecrantz [Thu, 19 Feb 2009 21:48:21 +0000 (22:48 +0100)]
trival: Make the last of progs show the name
Brian Paul [Thu, 19 Feb 2009 21:37:43 +0000 (14:37 -0700)]
mesa: support GL_EXT_stencil_two_side in gallium/mesa state tracker
Since Ian's patch of a few weeks ago, we can enable all three variations
of two-sided stencil. Update the state tracker to handle the extra back-
face state and turn on the EXT.
Note: there's a new Glean test for two-sided stencil now...
Brian Paul [Thu, 19 Feb 2009 21:36:58 +0000 (14:36 -0700)]
mesa: fix/update/restore comments related to two-sided stencil
Brian Paul [Thu, 19 Feb 2009 21:34:33 +0000 (14:34 -0700)]
mesa: initialize ctx->Stencil._BackFace = 1
Back-face stencil operations didn't work correctly because this value was
zero. It needs to be 1 or 2. The only place it's set otherwise is in
glEnable/Disable(GL_STENCIL_TEST_TWO_SIDE_EXT).
Jakob Bornecrantz [Sat, 14 Feb 2009 16:48:11 +0000 (17:48 +0100)]
draw: Fix segfault if rast is null
Michel Dänzer [Thu, 19 Feb 2009 18:52:59 +0000 (19:52 +0100)]
gallium/winsys/xlib: Fix build with USE_XSHM undefined.
José Fonseca [Thu, 19 Feb 2009 13:15:25 +0000 (13:15 +0000)]
wgl: debug_printf in the main entry/exit points
José Fonseca [Thu, 19 Feb 2009 13:02:47 +0000 (13:02 +0000)]
mesa: Free the util shaders with the gallium's FREE.
José Fonseca [Thu, 19 Feb 2009 12:58:00 +0000 (12:58 +0000)]
wgl: Call pipe_screen::destroy on exit.
Alan Hourihane [Thu, 19 Feb 2009 13:07:37 +0000 (13:07 +0000)]
egl: glx updates for FBconfigs
Alan Hourihane [Thu, 19 Feb 2009 13:07:10 +0000 (13:07 +0000)]
egl: if a surface type isn't defined let's default to EGL_WINDOW_BIT
Jakob Bornecrantz [Sat, 14 Feb 2009 08:39:52 +0000 (09:39 +0100)]
trivial: Add quadstrip-clip
Alan Hourihane [Thu, 19 Feb 2009 11:01:01 +0000 (11:01 +0000)]
egl: error checking
José Fonseca [Thu, 19 Feb 2009 10:57:11 +0000 (10:57 +0000)]
wgl: Use a separate .DEF for MinGW
gnu linker fails to resolve the @n symbols, unless:
- they are listed verbatim in the .def
- they are already linked.
And mingw's .def parser is slightly incompatible with MSVC in respect with
underscores. Will try to work with upstream to fix this, but for now there
is no option other to use seperate .def for mingw.
José Fonseca [Thu, 19 Feb 2009 10:52:08 +0000 (10:52 +0000)]
wgl: Share more code between icd and standalone driver.
José Fonseca [Wed, 18 Feb 2009 17:58:42 +0000 (17:58 +0000)]
gdi: Update for texture/surface interface changes.
José Fonseca [Wed, 18 Feb 2009 17:42:55 +0000 (17:42 +0000)]
util: Use right include.
Jakob Bornecrantz [Sat, 14 Feb 2009 00:05:13 +0000 (01:05 +0100)]
progs: Make fp-tri use glew and add scons target
Brian Paul [Thu, 19 Feb 2009 04:50:20 +0000 (21:50 -0700)]
cell: patch up cell_texture.c so it compiles
Start adding some new pipe_transfer code.
Texturing is totally broken at this point but non-texture programs
seem to run OK.
Brian Paul [Thu, 19 Feb 2009 04:46:12 +0000 (21:46 -0700)]
cell: updates for new pipe_transfer changes
Update framebuffer color/z/stencil mapping/unmapping.
Brian Paul [Thu, 19 Feb 2009 04:38:53 +0000 (21:38 -0700)]
cell: update vbuf code to catch up to recent changes
Brian Paul [Thu, 19 Feb 2009 04:38:17 +0000 (21:38 -0700)]
cell: remove unused var
Brian Paul [Thu, 19 Feb 2009 04:36:29 +0000 (21:36 -0700)]
cell: start adding new cell_transfer types/code
Brian Paul [Thu, 19 Feb 2009 04:35:56 +0000 (21:35 -0700)]
cell: remove old surface_map code
Brian Paul [Thu, 19 Feb 2009 00:50:24 +0000 (17:50 -0700)]
mesa: convert VERT_RESULT_* from #defines to enum, like the others
Brian Paul [Thu, 19 Feb 2009 00:46:00 +0000 (17:46 -0700)]
glsl: asst improvements, clean-ups in set_program_uniform()
Move the is_boolean/integer_type() calls out of the loops.
Move the is_sampler_type() function near the bool/int functions.
Add a bunch of comments.
Brian Paul [Thu, 19 Feb 2009 00:40:44 +0000 (17:40 -0700)]
glsl: fix inequality in set_program_uniform()
We were off by one when checking for too many uniform values.
Michel Dänzer [Wed, 18 Feb 2009 22:39:36 +0000 (23:39 +0100)]
gallium/winsys/egl_xlib: Fix build after introduction of struct pipe_transfer.
Brian Paul [Wed, 18 Feb 2009 22:38:10 +0000 (15:38 -0700)]
mesa: bump gl.h version comment to 7.7 (bug 20170)
Joakim Sindholt [Wed, 18 Feb 2009 19:32:40 +0000 (20:32 +0100)]
r300-gallium: implement simple pipe_transfer Basically make the driver compile and behave like it did before the gallium-texture-transfer merge
Brian Paul [Wed, 18 Feb 2009 21:24:14 +0000 (14:24 -0700)]
glsl: fix link failure for variable-indexed varying output arrays
If the vertex shader writes to a varying array with a variable index,
mark all the elements of that array as being written.
For example, if the vertex shader does:
for (i = 0; i < 4; i++)
gl_TexCoord[i] = expr;
Mark all texcoord outputs as being written, not just the first.
Linking will fail if a fragment shader tries to read an input that's not
written by the vertex shader. Before this fix, this linker test could fail.
Nicolai Haehnle [Sun, 15 Feb 2009 12:34:43 +0000 (13:34 +0100)]
swrast: Set vp_override flag during DrawPixels
Obviously, the color of fragments produced by DrawPixels is not constant,
even if the current vertex array / vertex program state indicates that the
color for normal rendering will be constant. Therefore, we need to override
certain optimisations that have been added to texenvprogram.c
Signed-off-by: Nicolai Haehnle <nhaehnle@gmail.com>
Brian Paul [Wed, 18 Feb 2009 20:28:12 +0000 (13:28 -0700)]
mesa: improved error msg
Brian Paul [Wed, 18 Feb 2009 18:47:40 +0000 (11:47 -0700)]
mesa: increase MAX_UNIFORMS to 1024 (of vec4 type)
Old limit was 256. Note that no arrays are declared to this size.
The only place we have to be careful about raising this limit is the
prog_src/dst_register Index bitfields. These have been bumped up too.
Added assertions to check we don't exceed the bitfield in the future too.
Brian Paul [Wed, 18 Feb 2009 18:06:57 +0000 (11:06 -0700)]
glsl: fix a swizzle-related regression
This new issue was exposed by commit
6eabfc27f19a10dfc2663e99f9560966ba1ff697
Keith Whitwell [Wed, 18 Feb 2009 18:20:50 +0000 (18:20 +0000)]
progs/trivial: Label program windows with actual program name
Each of these programs previously called itself "First Tri" which was a
little confusing. Could have left one as "First Tri", but the trouble
then is that people would still clone that file & we'd end up with
another thousand first tri apps...
Jakob Bornecrantz [Wed, 18 Feb 2009 17:12:18 +0000 (17:12 +0000)]
gallium: Also disable i965simple for scons
Please read previous commit for more info.
Jakob Bornecrantz [Wed, 18 Feb 2009 16:58:24 +0000 (16:58 +0000)]
gallium: Disable i965simple pipe driver after it was broken
It is only the i965simple pipe driver that was broken
in the gallium-texture-transfere merge that is being
disabled, mothing more nothing less.
FYI, there never where working i965 hardware support
in gallium anyways.
Michel Dänzer [Wed, 18 Feb 2009 17:13:44 +0000 (18:13 +0100)]
gallium: Fix up trace driver for introduction of struct pipe_transfer.
Michel Dänzer [Wed, 18 Feb 2009 17:12:31 +0000 (18:12 +0100)]
gallium: Add pipe_transfer_reference().
Michel Dänzer [Wed, 18 Feb 2009 15:43:02 +0000 (16:43 +0100)]
Merge branch 'gallium-texture-transfer'
Conflicts:
src/gallium/drivers/softpipe/sp_tile_cache.c
Keith Whitwell [Wed, 18 Feb 2009 15:14:39 +0000 (15:14 +0000)]
Merge commit 'origin/gallium-0.1'
Conflicts:
src/gallium/auxiliary/draw/draw_vs_aos.c
Corbin Simpson [Wed, 18 Feb 2009 14:38:21 +0000 (06:38 -0800)]
r300-gallium: Factor out common functionality in vbuf emit.
Michel Dänzer [Wed, 18 Feb 2009 12:14:02 +0000 (13:14 +0100)]
i915simple: Minimal fixup for introduction of struct pipe_transfer.
Keith Whitwell [Tue, 17 Feb 2009 21:45:54 +0000 (21:45 +0000)]
draw: Reuse xmm registers.
Keith Whitwell [Mon, 16 Feb 2009 20:19:40 +0000 (20:19 +0000)]
gallium: fix merge
It looks like I resolved the merge conflicts but did not save my emacs
buffers before committing...
Keith Whitwell [Mon, 16 Feb 2009 19:50:48 +0000 (19:50 +0000)]
Merge branch 'master' into gallium-texture-transfer
Conflicts:
src/mesa/state_tracker/st_cb_accum.c
src/mesa/state_tracker/st_cb_drawpixels.c
Brian Paul [Mon, 16 Feb 2009 18:50:05 +0000 (11:50 -0700)]
mesa: remove old comments
Note: the default value for EmitCondCodes is FALSE. This means the GLSL
compiler will emit code like this:
SEQ TEMP[0].x, A, B;
IF TEMP[0].x;
...
ENDIF
But if EmitCondCodes is TRUE, condition codes will be used instead:
SEQ.C TEMP[0].x, A, B;
IF (NE.xxxx);
...
ENDIF
Brian Paul [Mon, 16 Feb 2009 18:45:57 +0000 (11:45 -0700)]
i965: tell GLSL compiler to emit code using condition codes
The default for EmitCondCodes got flipped when gallium-0.2 was merged.
This fixes GLSL if/else/endif regressions.
Drivers that use GLSL should always explicitly set the flag to be safe.
Patrice Mandin [Mon, 16 Feb 2009 17:43:56 +0000 (18:43 +0100)]
nouveau: oops :-)
Dan Nicholson [Mon, 16 Feb 2009 17:28:35 +0000 (09:28 -0800)]
autoconf: Always enable glew
Maybe this should turn into an option (--disable-glew), but for now just
enable glew all the time.
Brian Paul [Mon, 16 Feb 2009 15:25:57 +0000 (08:25 -0700)]
glsl: silence some uninit var warnings
Brian Paul [Mon, 16 Feb 2009 15:25:33 +0000 (08:25 -0700)]
cell: use some SPU intrinsics to get slightly better code in eval_inputs()
Suggested by Jonathan Adamczewski. There may be more places to do this...
Corbin Simpson [Mon, 16 Feb 2009 11:56:03 +0000 (03:56 -0800)]
r300-gallium: Add verbosity level to debugging.
Makes it a bit more manageable to read through the console logs.
Corbin Simpson [Mon, 16 Feb 2009 11:55:16 +0000 (03:55 -0800)]
r300-gallium: Fix BEGIN_CS and END_CS counting and mismatch.
Corbin Simpson [Mon, 16 Feb 2009 11:33:56 +0000 (03:33 -0800)]
r300-gallium: Set up draw rasterizer.
Alan Hourihane [Mon, 16 Feb 2009 11:54:58 +0000 (11:54 +0000)]
demos: fix glxpixmap and call glXWaitGL before calling XCopyArea.
Alan Hourihane [Mon, 16 Feb 2009 11:44:40 +0000 (11:44 +0000)]
dri2: support glXWaitX & glXWaitGL by using fake front buffer.
Corbin Simpson [Mon, 16 Feb 2009 11:13:16 +0000 (03:13 -0800)]
r300-gallium: Ooops, forgot to apply this stash.
"git stash": The cause of, and solution to, all my problems.
Corbin Simpson [Mon, 16 Feb 2009 11:03:28 +0000 (03:03 -0800)]
r300-gallium: Include-guard r300_emit.h
Corbin Simpson [Mon, 16 Feb 2009 10:53:34 +0000 (02:53 -0800)]
r300-gallium: Add draw_arrays and friends.
This is the last bit of Gallium-side plumbing for drawing things.
From this point on, the only missing parts should be in r3xx-specific
code areas...
Corbin Simpson [Mon, 16 Feb 2009 10:52:47 +0000 (02:52 -0800)]
r300-gallium: Add SC_CLIP_RULE to clear.
This is a register that is in r300_demo but not r300_surface, so adding it in
to see if it helps.
Brian Paul [Sun, 15 Feb 2009 19:08:47 +0000 (12:08 -0700)]
cell: minor Makefile clean-up
Brian Paul [Sun, 15 Feb 2009 19:08:02 +0000 (12:08 -0700)]
cell: new/tighter code for computing fragment program inputs
Brian Paul [Sun, 15 Feb 2009 16:25:22 +0000 (09:25 -0700)]
cell: combine eval_z(), eval_w() functions
Corbin Simpson [Sat, 14 Feb 2009 23:24:44 +0000 (15:24 -0800)]
r300-gallium: Fix scissors.
Don't use SCISSORS_OFFSET since we're DRI2,
and don't forget to set scissors in clear.