Michal Krol [Thu, 30 Jul 2009 08:34:06 +0000 (10:34 +0200)]
tgsi: Declare a LOOP register.
The only valid usage for LOOP/ENDLOOP instructions
is LOOP[0] as a destination register.
The only valid usage for the remaining instructions
is LOOP[0].x as an indirect register.
Michal Krol [Thu, 30 Jul 2009 08:33:18 +0000 (10:33 +0200)]
tgsi: Fix number operands for LOOP/ENDLOOP.
Michal Krol [Thu, 30 Jul 2009 08:31:57 +0000 (10:31 +0200)]
vbo: Fix build on windows.
Michal Krol [Thu, 30 Jul 2009 08:12:09 +0000 (10:12 +0200)]
tgsi: Document LOOP/ENDLOOP instruction operation.
Xiang, Haihao [Thu, 30 Jul 2009 06:45:11 +0000 (14:45 +0800)]
i965: Postpone ff_sync message in CLIP kernel on IGDNG
In addition, it guarantees ff_sync message is issued
Alex Deucher [Thu, 30 Jul 2009 07:30:46 +0000 (03:30 -0400)]
r600: fix mipmaps
redbook mipmap works
Eric Anholt [Wed, 29 Jul 2009 21:06:05 +0000 (14:06 -0700)]
i915: Add support for EXT_stencil_two_side and ATI_separate_stencil.
Passes tests/stencil_twoside and glean/stencil2.
Eric Anholt [Wed, 29 Jul 2009 20:37:41 +0000 (13:37 -0700)]
i915: Add ARB_point_sprite since we already expose NV_point_sprite.
It's all fallbacks anyway due to the DD_POINT_ATTEN fallback.
Brian Paul [Wed, 29 Jul 2009 22:27:03 +0000 (16:27 -0600)]
gallium: fix SSE shadow texture instructions
When sampling a 2D shadow map we need 3 texcoord components, not 2.
The third component (distance from light source) is compared against
the texture sample to return the result (visible vs. occluded).
Also, enable proper handling of TGSI_TEXTURE_SHADOW targets in Mesa->TGSI
translation. There's a possibility for breakage in gallium drivers if
they fail to handle the TGSI_TEXTURE_SHADOW1D / TGSI_TEXTURE_SHADOW2D /
TGSI_TEXTURE_SHADOWRECT texture targets for TGSI_OPCODE_TEX/TXP instructions,
but that should be easy to fix.
With these changes, progs/demos/shadowtex.c renders properly again with
softpipe.
Alex Deucher [Wed, 29 Jul 2009 22:12:33 +0000 (18:12 -0400)]
r600: remove extraneous semicolon
Alex Deucher [Wed, 29 Jul 2009 22:06:20 +0000 (18:06 -0400)]
r600: fix texture pitch alignment
fixes texwrap
Alex Deucher [Wed, 29 Jul 2009 19:15:36 +0000 (15:15 -0400)]
r600: minor fixes
- set MAX_LOD properly
- min texel pitch is 8 texels
- emit old command buffer when re-initing base state
Nicolai Hähnle [Wed, 29 Jul 2009 18:59:56 +0000 (20:59 +0200)]
r300: Cleanup r300_fragment_program_code
Configuration register values are now stored directly in that structure.
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
Nicolai Hähnle [Wed, 29 Jul 2009 17:41:07 +0000 (19:41 +0200)]
r300/compiler: Adapt AllocateHwInputs interface to common usage pattern
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
Eric Anholt [Tue, 28 Jul 2009 20:51:29 +0000 (13:51 -0700)]
swrast: enable ARB_vertex_array_object.
It was getting enabled anyway but without the entrypoints installed. Whoops.
Cooper Yuan [Wed, 29 Jul 2009 07:31:41 +0000 (15:31 +0800)]
r600: emit fog color in PS input map, fix fog related applications
Cooper Yuan [Wed, 29 Jul 2009 07:23:56 +0000 (15:23 +0800)]
R6xx/r7xx: VS export fog color as parameter
Ben Skeggs [Wed, 29 Jul 2009 01:19:52 +0000 (11:19 +1000)]
nv50: support non-blocking query_result()
Ben Skeggs [Wed, 29 Jul 2009 00:58:05 +0000 (10:58 +1000)]
nouveau: map_range returning -EBUSY isn't necessarily an error
Christoph Bumiller [Tue, 28 Jul 2009 23:07:52 +0000 (01:07 +0200)]
nv50: correct zeta formats
What was Z24S8 before is actually S8Z24, and what we had for Z16
is actually X8Z24. Now, we also have the REAL Z24S8 and I added
Z32_FLOAT as well; most of the formats need different tile_flags.
Christoph Bumiller [Tue, 28 Jul 2009 15:38:28 +0000 (17:38 +0200)]
nv50: use new 2D surface format names
Christoph Bumiller [Tue, 28 Jul 2009 15:34:07 +0000 (17:34 +0200)]
nv50: support more vtxelt formats
NOTE: we must not try to emit buffer relocations when
vtxbuf_nr is 0 but vtxelt_nr is not
Christoph Bumiller [Tue, 28 Jul 2009 15:21:31 +0000 (17:21 +0200)]
nv50: should use uint32_t ptr in draw_elements_inline_u32
Christoph Bumiller [Tue, 28 Jul 2009 22:55:03 +0000 (00:55 +0200)]
nv50: TIC/TSC fixes and additions
Red and blue were interchanged in TIC.
Add border color and some formats.
Christoph Bumiller [Tue, 28 Jul 2009 22:51:35 +0000 (00:51 +0200)]
nv50: fix sx/dx typo in transfer_rect_m2mf
Christoph Bumiller [Tue, 28 Jul 2009 23:21:41 +0000 (01:21 +0200)]
nv50: fix viewport transform
The translation also needs to be inverted, and in bypass mode
the state tracker incorrectly assumes that Y = 0 = TOP, so we
need inversion there to; NDC clipping has to be deactivated
explicitly.
Christoph Bumiller [Tue, 28 Jul 2009 22:35:12 +0000 (00:35 +0200)]
nv50: use correct scissor reg
Alex Deucher [Tue, 28 Jul 2009 22:09:38 +0000 (18:09 -0400)]
r600: fix tex clamp modes
This makes texwrap look better.
Alex Deucher [Tue, 28 Jul 2009 21:59:54 +0000 (17:59 -0400)]
r600: implement texture border color
Alex Deucher [Tue, 28 Jul 2009 20:58:41 +0000 (16:58 -0400)]
r600: fix flat shading
Set the flat shading bit on the appropriate PS input
depending on the type of attribute it is. The VS output
and PS input routing should probably be made more dynamic
at some point. We may want to use semantic ids to make
it easier.
Alex Deucher [Tue, 28 Jul 2009 19:58:01 +0000 (15:58 -0400)]
r600: don't call r700UpdateShaders twice for each render
Alex Deucher [Tue, 28 Jul 2009 19:53:45 +0000 (15:53 -0400)]
r600: move r700TranslateFragmentShader into r700UpdateShaders
Alex Deucher [Tue, 28 Jul 2009 15:10:38 +0000 (11:10 -0400)]
r600: disable flat shade fix in
506bacb8e40b0a170a4b620113506925d2333735
This breaks textures. We need to only set this bit for
attributes that that need flat shading.
Brian Paul [Tue, 28 Jul 2009 14:58:25 +0000 (08:58 -0600)]
Merge branch 'mesa_7_5_branch'
Conflicts:
Makefile
configs/default
docs/relnotes.html
src/mesa/main/version.h
Brian Paul [Mon, 27 Jul 2009 23:18:05 +0000 (17:18 -0600)]
gallium: minor code/comments clean-up
Chia-I Wu [Mon, 27 Jul 2009 22:57:36 +0000 (16:57 -0600)]
egl: Comment out unused tables in_eglFillInConfigs
This silences a compiler warning.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Vinson Lee [Tue, 28 Jul 2009 14:54:14 +0000 (08:54 -0600)]
progs/trivial: add missing files to Makefile, .gitignore
Cooper Yuan [Tue, 28 Jul 2009 05:57:07 +0000 (13:57 +0800)]
R6xx/r7xx: enable flat shading, this can fix quadric/accanti/accpersp
Alex Deucher [Mon, 27 Jul 2009 22:12:30 +0000 (18:12 -0400)]
r600: fix _REV texture format component swizzles
Brian Paul [Mon, 27 Jul 2009 21:42:29 +0000 (15:42 -0600)]
mesa: regenerated file
RALOVICH, Kristóf [Thu, 23 Jul 2009 15:58:08 +0000 (17:58 +0200)]
glx: remove XTHREADS support
RALOVICH, Kristóf [Thu, 23 Jul 2009 15:57:48 +0000 (17:57 +0200)]
docs: do not mentions xthreads any more
RALOVICH, Kristóf [Thu, 23 Jul 2009 15:57:22 +0000 (17:57 +0200)]
glapi: regenerated GL API assembly files
RALOVICH, Kristóf [Thu, 23 Jul 2009 15:56:52 +0000 (17:56 +0200)]
glapi: remove XTHREADS support
Brian Paul [Mon, 27 Jul 2009 21:32:50 +0000 (15:32 -0600)]
intel: Fix leak of DRI option info due to using the wrong free routine.
(cherry picked from commit
6d66f23c50ebe8f973757b6fd1b81c9b7920c447)
Brian Paul [Mon, 27 Jul 2009 21:28:49 +0000 (15:28 -0600)]
intel: Clean up leak of driver context structure on context destroy.
(cherry picked from commit
ddef7dc87b2001fbe117ee5f24a0c645ee95a03c)
Brian Paul [Mon, 27 Jul 2009 21:10:28 +0000 (15:10 -0600)]
st/mesa: silence warning
Brian Paul [Mon, 27 Jul 2009 21:09:56 +0000 (15:09 -0600)]
mesa: separate some finite/pragma Watcom stuff
Brian Paul [Mon, 27 Jul 2009 21:08:44 +0000 (15:08 -0600)]
softpipe: include sp_winsys.h to silence function prototype warning
Nicolai Hähnle [Mon, 27 Jul 2009 18:16:17 +0000 (20:16 +0200)]
r300/compiler: Make calculate_inputs_outputs available to external users
In the long run, it's probably better to just get rid of InputsRead and
OutputsWritten.
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
Nicolai Hähnle [Mon, 27 Jul 2009 17:29:21 +0000 (19:29 +0200)]
r300/compiler: Add vertex program code dumper from Gallium driver
Nicolai Hähnle [Mon, 27 Jul 2009 17:34:08 +0000 (19:34 +0200)]
r300/compiler: Prepare for hookup to Gallium
Nicolai Hähnle [Sun, 26 Jul 2009 11:50:56 +0000 (13:50 +0200)]
r300/fragprog: Move wpos_attr and fog_attr where they belong
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
Nicolai Hähnle [Sun, 26 Jul 2009 10:05:57 +0000 (12:05 +0200)]
r300/fragprog: Remove hardcoded FRAG_ATTRIB_xxx constants
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
Nicolai Hähnle [Sun, 26 Jul 2009 09:52:17 +0000 (11:52 +0200)]
r300/fragprog: No longer rely on hardcoded FRAG_RESULT_xxx constants
Also, this makes radeon_program_pair depend on the r300 fragment program
compiler. Since we now know that r600+ no longer use the same pairing
style in their ALU, we can stop pretending that program_pair is useful
for anything but r300-r500 fragment programs.
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
Nicolai Hähnle [Fri, 24 Jul 2009 23:19:04 +0000 (01:19 +0200)]
r300/fragprog: Move some of the attribute handling out of the compiler
Attribute indices will probably be different in Gallium, so make the compiler
independent of magic values.
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
Nicolai Hähnle [Fri, 24 Jul 2009 23:08:37 +0000 (01:08 +0200)]
r300/fragprog: Finally get rid of the duplicate program copy
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
Nicolai Hähnle [Fri, 24 Jul 2009 22:59:31 +0000 (00:59 +0200)]
r300/vertprog: Move Mesa-dependent input/output handling out of compiler
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
Nicolai Hähnle [Fri, 24 Jul 2009 22:50:53 +0000 (00:50 +0200)]
r300: Remove ugly PSIZ hack
Instead of setting Sourced, we simply force writemasks to begin with.
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
Nicolai Hähnle [Fri, 24 Jul 2009 22:49:25 +0000 (00:49 +0200)]
r300/vertprog: Refactor wpos rewrite using rc_program
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
Nicolai Hähnle [Fri, 24 Jul 2009 22:41:05 +0000 (00:41 +0200)]
r300/vertprog: Refactor fog_as_texcoord to use rc_program
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
Nicolai Hähnle [Fri, 24 Jul 2009 22:07:46 +0000 (00:07 +0200)]
r300/vertprog: Refactor addArtificialOutputs to use rc_program
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
Nicolai Hähnle [Fri, 24 Jul 2009 21:28:08 +0000 (23:28 +0200)]
r300/fragprog: Refactor wpos rewrite to use rc_program
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
Nicolai Hähnle [Fri, 24 Jul 2009 21:06:54 +0000 (23:06 +0200)]
r300/compiler: Refactor fragment program fog rewrite to use rc_program
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
Nicolai Hähnle [Fri, 24 Jul 2009 20:50:35 +0000 (22:50 +0200)]
r300/compiler: Refactor rewrite_depth_out to use rc_program
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
Nicolai Hähnle [Fri, 24 Jul 2009 20:34:44 +0000 (22:34 +0200)]
r300/compiler: Refactor local transforms to use rc_program
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
Brian Paul [Mon, 27 Jul 2009 20:35:18 +0000 (14:35 -0600)]
intel: Use _mesa_warning() to report GEM warnings
Karl Schultz [Mon, 27 Jul 2009 19:38:35 +0000 (13:38 -0600)]
windows: updated VC8 project files
See bug 22882.
Brian Paul [Fri, 17 Jul 2009 22:58:27 +0000 (16:58 -0600)]
docs: 7.5 tarball md5sums
Nicolai Hähnle [Fri, 24 Jul 2009 20:41:14 +0000 (22:41 +0200)]
r300: Allow compiler to add constants in a cleaner way
Adding constants is used in a number of non-native instruction
rewrites, and it required us to keep copies of modified gl_programs
around. This is a first step towards ending this.
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
Nicolai Hähnle [Thu, 23 Jul 2009 20:49:31 +0000 (22:49 +0200)]
r300/compiler: Refactor nqssadce to use rc_program
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
Nicolai Hähnle [Thu, 23 Jul 2009 20:09:48 +0000 (22:09 +0200)]
r300/compiler: Refactor for rc_program usage
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
Nicolai Hähnle [Thu, 23 Jul 2009 20:09:11 +0000 (22:09 +0200)]
r300/compiler: Add rc_print_program
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
Nicolai Hähnle [Thu, 23 Jul 2009 19:38:28 +0000 (21:38 +0200)]
r300/compiler: Lay groundwork for better error handling
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
Nicolai Hähnle [Thu, 23 Jul 2009 19:10:37 +0000 (21:10 +0200)]
r300: Remove dependency on GLcontext from compiler
Unfortunately, this does cause some code duplication (which we can hopefully
eliminate eventually).
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
Nicolai Hähnle [Thu, 23 Jul 2009 18:24:22 +0000 (20:24 +0200)]
r300/vertprog: Cleanup source conflict handling
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
Nicolai Hähnle [Thu, 23 Jul 2009 17:52:00 +0000 (19:52 +0200)]
r300/vertprog: Massively reduce code duplication
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
Nicolai Hähnle [Thu, 23 Jul 2009 17:25:06 +0000 (19:25 +0200)]
r300/vertprog: Use generic transforms and throw away unneeded code
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
Nicolai Hähnle [Thu, 23 Jul 2009 16:40:41 +0000 (18:40 +0200)]
r300: Move vertex program compilation to compiler
This is just the first step of refactoring. The separation is not yet
clean enough with this commit.
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
Nicolai Hähnle [Thu, 23 Jul 2009 22:32:41 +0000 (00:32 +0200)]
r300: Cleanup vertex_program structure
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
Nicolai Hähnle [Wed, 22 Jul 2009 20:47:31 +0000 (22:47 +0200)]
r300: Remove faux lazy translation of vertex programs
De facto, vertex programs were translated immediately in all situations,
so let's just stop pretending that we do lazy translation.
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
Nicolai Hähnle [Wed, 22 Jul 2009 20:13:06 +0000 (22:13 +0200)]
r300: Reduce include dependencies
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
Nicolai Hähnle [Wed, 22 Jul 2009 20:10:13 +0000 (22:10 +0200)]
r300: Introduce rc_program and use it in radeon_pair
The goal is to convert both Mesa and TGSI programs into an intermediate format
that happens to be convenient for us.
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
Nicolai Hähnle [Wed, 22 Jul 2009 19:29:35 +0000 (21:29 +0200)]
r300: Add radeon_compiler as a base for compilation-related tasks
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
Nicolai Hähnle [Tue, 21 Jul 2009 18:25:33 +0000 (20:25 +0200)]
r300: Remove some unnecessary includes
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
Nicolai Hähnle [Thu, 16 Jul 2009 21:56:15 +0000 (23:56 +0200)]
r300/compiler: Compile the compiler seperately into an archive
This is all part of untangling the compiler from the classic driver, so that
it may be used in Gallium without depending on Mesa stuff if possible
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
Nicolai Hähnle [Tue, 21 Jul 2009 16:28:30 +0000 (18:28 +0200)]
r300: Further reduce dependency between compiler and classic driver
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
Nicolai Hähnle [Thu, 16 Jul 2009 20:58:13 +0000 (22:58 +0200)]
r300: Remove some dependencies on additional fragment program copies
The copy is still needed because some program transforms add state variables
or constants.
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
Nicolai Hähnle [Thu, 16 Jul 2009 20:40:53 +0000 (22:40 +0200)]
r300: Remove GLcontext from r300_fragment_program_compiler
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
Nicolai Hähnle [Thu, 16 Jul 2009 20:39:16 +0000 (22:39 +0200)]
r300: Remove GLcontext requirement from radeonLocalTransform
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
Nicolai Hähnle [Thu, 16 Jul 2009 20:36:54 +0000 (22:36 +0200)]
r300: Remove unused enums
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
Nicolai Hähnle [Thu, 16 Jul 2009 20:32:46 +0000 (22:32 +0200)]
r300: Remove GLcontext requirement from radeon_nqssadce
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
Nicolai Hähnle [Thu, 16 Jul 2009 20:23:48 +0000 (22:23 +0200)]
r300: Remove GLcontext requirement from radeon_program_pair
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
Nicolai Hähnle [Thu, 16 Jul 2009 17:57:43 +0000 (19:57 +0200)]
r300/program_pair: Introduce driver-specific texture instruction structure
This is to prepare more experimentation and possible internal changes in the
compiler.
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
Nicolai Hähnle [Wed, 15 Jul 2009 20:25:28 +0000 (22:25 +0200)]
r300/program_pair: Dynamically allocate instructions temporarily
In preparation of using TGSI, where we cannot easily predict the number
of instructions.
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
Nicolai Hähnle [Wed, 15 Jul 2009 15:36:42 +0000 (17:36 +0200)]
r300: Detangle fragment program compiler from driver-specific structure
This is in preparation of sharing the fragment program compiler with Gallium:
Compiler code is moved into its own directory and modified so that it no
longer depends on driver structures.
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
Pauli Nieminen [Mon, 27 Jul 2009 14:13:48 +0000 (17:13 +0300)]
radeon: Add r6xx/r7xx chip family to get_chip_family_name
This fixes problem that glxinfo was reporting r600+ cards as unknown.
Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
Patrice Mandin [Mon, 27 Jul 2009 08:57:53 +0000 (10:57 +0200)]
nouveau: swizzle a single row or column, doing it one pixel at a time
Alex Deucher [Mon, 27 Jul 2009 07:52:37 +0000 (03:52 -0400)]
r600: fix textures
We weren't allocating enough gprs for the fragment shader
in some cases. There are likely other issues that still need
to be sorted out for textures, but at least they now work.
Alex Deucher [Mon, 27 Jul 2009 06:25:24 +0000 (02:25 -0400)]
r600: don't draw when num indices is 0
fixes engine demo