Ben Skeggs [Thu, 20 Mar 2008 13:18:18 +0000 (00:18 +1100)]
nouveau: match gallium API changes
Ben Skeggs [Thu, 20 Mar 2008 13:11:25 +0000 (00:11 +1100)]
Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1
Brian Paul [Thu, 20 Mar 2008 00:10:09 +0000 (18:10 -0600)]
gallium: added fb_width/height fields to softpipe context
These are convenience fields. Otherwise, we have to check cbuf[0] or zsbuf
in various places.
Brian Paul [Wed, 19 Mar 2008 23:14:49 +0000 (17:14 -0600)]
better text labels
Brian Paul [Wed, 19 Mar 2008 23:08:16 +0000 (17:08 -0600)]
gallium: add face, dirtyLevels params to pipe->texture_update()
This provides better information about which images in texture object have changed.
Also, call texture_update() from more places previously missed.
Brian Paul [Wed, 19 Mar 2008 23:04:49 +0000 (17:04 -0600)]
gallium: need to set/save framebuffer state in st_context since we use it elsewhere
Brian Paul [Wed, 19 Mar 2008 22:41:54 +0000 (16:41 -0600)]
gallium: fix bug in cso_single_sampler_done() in computation of nr_samplers
Need to find highest used sampler so search from end toward beginning.
José Fonseca [Wed, 19 Mar 2008 20:46:08 +0000 (20:46 +0000)]
gallium: Fix broken logic.
Keith Whitwell [Wed, 19 Mar 2008 17:35:42 +0000 (17:35 +0000)]
gallium: explict float casts
Brian [Wed, 19 Mar 2008 17:12:48 +0000 (11:12 -0600)]
gallium: implement CSO save/restore functions for use by meta operations (blit, gen-mipmaps, quad-clear, etc)
Also, additional cso_set_*() functions for viewport, framebuffer, blend color,
etc. state.
Brian [Wed, 19 Mar 2008 16:43:35 +0000 (10:43 -0600)]
gallium: remove old commented-out code
Brian [Wed, 19 Mar 2008 14:53:02 +0000 (08:53 -0600)]
gallium: set tc->surface_map = NULL after unmapping
José Fonseca [Wed, 19 Mar 2008 16:41:07 +0000 (16:41 +0000)]
gallium: Add generic enum and flags dumping utility functions.
Ben Skeggs [Wed, 19 Mar 2008 11:51:17 +0000 (22:51 +1100)]
Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1
Ben Skeggs [Wed, 19 Mar 2008 10:52:19 +0000 (21:52 +1100)]
nv40: "implement" noise opcodes in fragprog
For the moment, we do what NVIDIA does and return 0 unconditionally. This
isn't correct, but it's an implementation at least.
Ben Skeggs [Tue, 18 Mar 2008 13:06:15 +0000 (00:06 +1100)]
nouveau: pass nvws to nvws->push_* functions, rather than nouveau_channel*
Alan Hourihane [Wed, 19 Mar 2008 00:18:07 +0000 (00:18 +0000)]
set outputs_safe to 0 as it's possible for the code generation
to slip over the allocated memory for the vb.
Alan Hourihane [Wed, 19 Mar 2008 00:16:16 +0000 (00:16 +0000)]
remove redundant init
Brian [Tue, 18 Mar 2008 23:19:57 +0000 (17:19 -0600)]
gallium: added braces to silence warning
Brian [Tue, 18 Mar 2008 23:16:23 +0000 (17:16 -0600)]
gallium: plug in and init GL_EXT_framebuffer_blit function/extension
Brian [Tue, 18 Mar 2008 23:16:12 +0000 (17:16 -0600)]
gallium: added st_cb_blit.c
Brian [Tue, 18 Mar 2008 23:15:25 +0000 (17:15 -0600)]
gallium: s/copy_pixels_state/blit_state
Brian [Tue, 18 Mar 2008 23:14:05 +0000 (17:14 -0600)]
gallium: added cso_unset_*() functions
If we go behind the CSO context's back and set pipe state directly we
need to invalidate the CSO's 'current' pointers.
This will be revisited...
Brian [Tue, 18 Mar 2008 23:13:14 +0000 (17:13 -0600)]
gallium: glFramebufferBlitEXT() implementation
Brian [Tue, 18 Mar 2008 23:12:51 +0000 (17:12 -0600)]
gallium: fix typos
Brian [Tue, 18 Mar 2008 23:04:59 +0000 (17:04 -0600)]
gallium: new pixel blit code
Copy rectangular region from one surface to another w/ scaling.
Disables most fragment operations.
Brian [Tue, 18 Mar 2008 22:59:46 +0000 (16:59 -0600)]
gallium: protect against multi-#include
Brian [Tue, 18 Mar 2008 22:59:15 +0000 (16:59 -0600)]
added u_simple_shaders.c
Brian [Tue, 18 Mar 2008 22:58:15 +0000 (16:58 -0600)]
gallium: make the gen_mipmap_state struct private
Brian [Tue, 18 Mar 2008 22:57:23 +0000 (16:57 -0600)]
gallium: use new simple shader utility routines
Brian [Tue, 18 Mar 2008 22:56:55 +0000 (16:56 -0600)]
gallium: utilities for creating simple vertex/fragment shaders
Brian [Tue, 18 Mar 2008 21:15:02 +0000 (15:15 -0600)]
gallium: restore additional state after clearing with quad
Ian Romanick [Tue, 18 Mar 2008 22:59:33 +0000 (15:59 -0700)]
cell: Fix various stencil test code-gen bugs
Ian Romanick [Tue, 18 Mar 2008 22:59:06 +0000 (15:59 -0700)]
cell: Correctly load stencil for PIPE_FORMAT_S8Z24_UNORM
Patrice Mandin [Tue, 18 Mar 2008 20:50:01 +0000 (21:50 +0100)]
nv30: disable emit texture image in state_emit, already done in fragtex
Keith Whitwell [Tue, 18 Mar 2008 13:10:51 +0000 (13:10 +0000)]
gallium: make REALLOC a bit more like realloc
Ian Romanick [Tue, 18 Mar 2008 18:47:37 +0000 (11:47 -0700)]
cell: Fix depth read / write for s8z24.
Stencil is still broken.
Ian Romanick [Tue, 18 Mar 2008 17:29:14 +0000 (10:29 -0700)]
cell: Fix added whitespace errors.
Ian Romanick [Tue, 18 Mar 2008 17:26:45 +0000 (10:26 -0700)]
cell: Minor changes to make stencil not crash
I'm not sure these are quite correct. The reflect demo doesn't assert
anymore, but it doesn't produce correct results either. SPE-based
vertex shader code needs to be disabled for relfect to run.
Ian Romanick [Tue, 18 Mar 2008 17:23:39 +0000 (10:23 -0700)]
cell: Move and (conditionally) silence debug code
José Fonseca [Tue, 18 Mar 2008 12:46:24 +0000 (12:46 +0000)]
d3d: Allow to iterate over the handle table.
José Fonseca [Tue, 18 Mar 2008 12:01:14 +0000 (12:01 +0000)]
d3d: Add function to walk through all items in the hash table.
José Fonseca [Tue, 18 Mar 2008 11:49:29 +0000 (11:49 +0000)]
gallium: Don't be pedantic about removing non exiting items from the table.
José Fonseca [Tue, 18 Mar 2008 11:49:02 +0000 (11:49 +0000)]
gallium: Convenience debug_warning function.
Brian [Tue, 18 Mar 2008 15:28:04 +0000 (09:28 -0600)]
gallium: fix a mix-up in the uint[1] do_row() case
Brian [Tue, 18 Mar 2008 15:23:35 +0000 (09:23 -0600)]
gallium: use new color packing utility functions
Brian [Tue, 18 Mar 2008 15:22:41 +0000 (09:22 -0600)]
gallium: utility for packing color, z values according to pipe_format
Michal Krol [Tue, 18 Mar 2008 14:59:55 +0000 (15:59 +0100)]
gallium: Silencium warnings on Windows.
Patrice Mandin [Tue, 18 Mar 2008 12:34:26 +0000 (13:34 +0100)]
nv30: hmm, no buffer for texture
Patrice Mandin [Tue, 18 Mar 2008 12:20:59 +0000 (13:20 +0100)]
nv30: update miptree stuff for texturing
Brian [Mon, 17 Mar 2008 23:45:00 +0000 (17:45 -0600)]
gallium: initial gen mipmap s/w fallback code
Ian Romanick [Mon, 17 Mar 2008 23:09:28 +0000 (16:09 -0700)]
cell: Don't segfault when unbinding alpha / stencil / depth test state
Ian Romanick [Mon, 17 Mar 2008 23:07:54 +0000 (16:07 -0700)]
cell: Don't free NULL code pointers
Ian Romanick [Mon, 17 Mar 2008 22:45:52 +0000 (15:45 -0700)]
cell: Initial code-gen for alpha / stencil / depth testing
Alpha test is currently broken because all per-fragment testing occurs
before alpha is calculated.
Stencil test is currently broken because the Z-clear code asserts if
there is a stencil buffer.
Ian Romanick [Mon, 17 Mar 2008 22:37:09 +0000 (15:37 -0700)]
cell: Fix simple register allocator
THere are 64-bits in a uint64_t, not 128. Duh.
Brian Paul [Mon, 17 Mar 2008 22:03:06 +0000 (16:03 -0600)]
mesa: new mipmap generation, lod bias demo
Show each of the mipmap levels side-by-side.
Press 's' to toggle quad scaling to see mipmap level at actual size.
Brian [Mon, 17 Mar 2008 21:48:13 +0000 (15:48 -0600)]
gallium: use new gallium utility code for generating mipmaps
Brian [Mon, 17 Mar 2008 21:39:19 +0000 (15:39 -0600)]
gallium: added new u_draw_quad.c and u_gen_mipmap.c files.
Brian [Mon, 17 Mar 2008 21:38:14 +0000 (15:38 -0600)]
gallium: new mipmap generation code
Based on code from Mesa's state tracker.
Still need to implement fallbacks for those texture formats which can't
generally be rendered to.
Brian [Mon, 17 Mar 2008 21:37:42 +0000 (15:37 -0600)]
gallium: new util_draw_texquad() function.
Brian Paul [Mon, 17 Mar 2008 18:38:24 +0000 (12:38 -0600)]
gallium: set min_mip_filter = PIPE_TEX_MIPFILTER_NEAREST
Plus, comments, clean-ups.
Patrice Mandin [Mon, 17 Mar 2008 18:03:38 +0000 (19:03 +0100)]
nv30: another 2 rt, and set viewport tx origin, so we render at the proper place \o/
Patrice Mandin [Mon, 17 Mar 2008 17:13:18 +0000 (18:13 +0100)]
nv30: only 2 render targets
Brian Paul [Mon, 17 Mar 2008 15:42:08 +0000 (09:42 -0600)]
gallium: in gen_mipmap, also set sampler lod_bias and do a flush() after rendering each level
Markus Amsler [Mon, 17 Mar 2008 14:35:37 +0000 (08:35 -0600)]
only set InputsRead bit if input is really used
Ben Skeggs [Mon, 17 Mar 2008 12:05:46 +0000 (23:05 +1100)]
nv40: a few more fp opcodes
Keith Whitwell [Mon, 17 Mar 2008 10:10:45 +0000 (10:10 +0000)]
gallium: improvements, or extensions at least, to the passthrough path
Passthrough is actually more tricky than you'd think...
Ben Skeggs [Mon, 17 Mar 2008 03:22:36 +0000 (14:22 +1100)]
nouveau: create fence object when allocating pushbuf, instead of submit
Ben Skeggs [Mon, 17 Mar 2008 02:49:03 +0000 (13:49 +1100)]
nv40: workaround main swtnl breakage
Not sure where the real bug is here yet, but for now this gives us correct
rendering in far more cases than previously.
Stephane Marchesin [Mon, 17 Mar 2008 02:32:07 +0000 (03:32 +0100)]
nv10: fixes.
Stephane Marchesin [Mon, 17 Mar 2008 02:14:11 +0000 (03:14 +0100)]
nouveau: latest header.
Brian [Sun, 16 Mar 2008 16:33:59 +0000 (10:33 -0600)]
gallium: finish remaining prim types for sp_vbuf_draw_arrays()
Not totally tested, but easily fixed if glitches are found.
Ben Skeggs [Thu, 13 Mar 2008 07:29:56 +0000 (18:29 +1100)]
nv40: simple swtnl path (half broken, but getting there)
Ben Skeggs [Sun, 16 Mar 2008 01:55:02 +0000 (12:55 +1100)]
nv10: fix build after merge
Ben Skeggs [Sun, 16 Mar 2008 01:49:46 +0000 (12:49 +1100)]
Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1
Patrice Mandin [Sat, 15 Mar 2008 15:45:49 +0000 (16:45 +0100)]
cso_context_destroy calls bind_state functions with NULL parameter
Stephane Marchesin [Sat, 15 Mar 2008 04:37:57 +0000 (05:37 +0100)]
nv10.
Stephane Marchesin [Sat, 15 Mar 2008 03:43:12 +0000 (04:43 +0100)]
nouveau: latest header.
Stephane Marchesin [Sat, 15 Mar 2008 03:42:48 +0000 (04:42 +0100)]
nv30: only 2 RTs.
José Fonseca [Sat, 15 Mar 2008 00:55:28 +0000 (00:55 +0000)]
gallium: Ensure we don't add null objects to the table, as they mark empty handles.
Brian Paul [Fri, 14 Mar 2008 23:47:11 +0000 (17:47 -0600)]
mesa: clamp point size in vertex program when computing attenuated size
Brian Paul [Fri, 14 Mar 2008 23:45:27 +0000 (17:45 -0600)]
gallium: if point size not computed per vertex, apply size clamp immediately.
Fixes glean pointAtten failure.
Brian [Fri, 14 Mar 2008 22:13:35 +0000 (16:13 -0600)]
gallium: add explicit control for point sprites (convert points to textured quads)
New draw_enable_point_sprites() function.
Fixes spriteblast.c demo
Brian [Fri, 14 Mar 2008 22:00:15 +0000 (16:00 -0600)]
gallium: remove DOS carriage returns
Brian [Fri, 14 Mar 2008 21:54:02 +0000 (15:54 -0600)]
gallium: remove DOS carriage returns
Michal Krol [Fri, 14 Mar 2008 20:44:06 +0000 (21:44 +0100)]
tgsi: Use debug_printf().
Michal Krol [Fri, 14 Mar 2008 20:40:02 +0000 (21:40 +0100)]
scons: Remove second occurence of draw_passthrough.c.
Brian Paul [Fri, 14 Mar 2008 20:14:13 +0000 (14:14 -0600)]
mesa: init tmpNode to zeros
Brian Paul [Fri, 14 Mar 2008 19:50:01 +0000 (13:50 -0600)]
mesa: fix emit_clamp() so that we don't use an output register as temporary
IR_CLAMP is decomposed into OPCODE_MIN+OPCODE_MAX. Allocate a temporary
register for the intermediate value so we don't inadvertantly use an output
register (which are write-only on some GPUs).
Brian Paul [Fri, 14 Mar 2008 17:35:57 +0000 (11:35 -0600)]
mesa: call glColorMask(1,1,1,1) before glClear()
Without this, second and subsequent redraws rendered incorrectly.
Plus comments.
Brian Paul [Fri, 14 Mar 2008 17:24:28 +0000 (11:24 -0600)]
gallium: print warning rather than assert(0) for LOG/EXP opcodes
Glean vertProg1 runs all the way through, rather than aborting.
Brian [Fri, 14 Mar 2008 16:23:39 +0000 (10:23 -0600)]
gallium: added some debug code (disabled)
Brian [Fri, 14 Mar 2008 16:23:11 +0000 (10:23 -0600)]
i915: check for NULL const buffer ptr
Brian [Fri, 14 Mar 2008 16:22:53 +0000 (10:22 -0600)]
gallium: added dummy install target
Brian [Fri, 14 Mar 2008 16:20:29 +0000 (10:20 -0600)]
mesa: revert fast-track glColor and similar calls when not immediate mode rendering
Revert commit
d08cd68d3f5456b69ad504ede2b090c0bb6474db
This change caused some glean tests to fail. The alpha value of colors was
always 1.0 instead of the value from glColor4fv(). The mesa color array
found in st_draw() has size=3 instead of size=4.
Brian [Fri, 14 Mar 2008 16:19:19 +0000 (10:19 -0600)]
gallium: in st_program_string_notify() free shader tokens.
When the shader instructions change, free the TGSI tokens. This signals the
state tracker to recompile the shader. Fixes a regression caused by recent
shader/state-tracker changes.
Keith Whitwell [Fri, 14 Mar 2008 08:42:45 +0000 (08:42 +0000)]
gallium: fix some compiler warnings
Keith Whitwell [Fri, 14 Mar 2008 08:42:08 +0000 (08:42 +0000)]
tgsi: add debug_printf version of tgsi_dump
Brian [Fri, 14 Mar 2008 00:19:47 +0000 (18:19 -0600)]
gallium: need to all draw_flush() in softpipe_unmap_constant_buffers()
Otherwise, we won't have our constants when we run the fragment shader.
Fixes crash in glsl tests when SP_VBUF=1.
Brian [Thu, 13 Mar 2008 23:39:30 +0000 (17:39 -0600)]
gallium: fix EMIT_HEADER case in draw_vf_set_vertex_info()