Eric Anholt [Tue, 28 Sep 2010 05:06:38 +0000 (22:06 -0700)]
i965: Fix valgrind complaint about base_ir for new FS debugging.
Eric Anholt [Tue, 28 Sep 2010 04:35:54 +0000 (21:35 -0700)]
i965: Apply the same set of lowering passes to new FS as to Mesa IR.
While much of this we will want to support natively, this should make
the task of reaching the Mesa IR backend's quality easier.
Fixes:
glsl-fs-main-return.
Eric Anholt [Tue, 28 Sep 2010 04:25:55 +0000 (21:25 -0700)]
i965: Actually track the "if" depth in loop in the new FS backend.
Fixes:
glsl-fs-if-nested-loop.
Eric Anholt [Tue, 28 Sep 2010 04:15:28 +0000 (21:15 -0700)]
i965: Fix negation in the new FS backend.
Fixes:
glsl1-Negation
glsl1-Negation2
Jerome Glisse [Tue, 28 Sep 2010 15:37:30 +0000 (11:37 -0400)]
r600g: switch to new design
New design seems to be on parity according to piglit,
make it default to get more exposure and see if there
is any show stopper in the coming days.
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Jerome Glisse [Tue, 28 Sep 2010 15:07:20 +0000 (11:07 -0400)]
r600g: fix remaining piglit issue in new design
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Jerome Glisse [Tue, 28 Sep 2010 12:59:47 +0000 (08:59 -0400)]
r600g: use ptr for blit depth uncompress function
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Christoph Bumiller [Mon, 27 Sep 2010 17:35:50 +0000 (19:35 +0200)]
nv50: fix GP state bind and validate
Dave Airlie [Tue, 28 Sep 2010 05:05:11 +0000 (15:05 +1000)]
r600g: on evergreen the centroid isn't set in this register.
Zhenyu Wang [Tue, 28 Sep 2010 07:50:59 +0000 (15:50 +0800)]
i965: fallback bitmap operation on sandybridge
Need to bring back correct fb write with header to set pixel
write mask. Fallback for now.
Zhenyu Wang [Mon, 27 Sep 2010 01:58:09 +0000 (09:58 +0800)]
i965: fix occlusion query on sandybridge
Fix pipe control command for depth stall and PS_DEPTH_COUNT write.
Zhenyu Wang [Sun, 26 Sep 2010 06:36:14 +0000 (14:36 +0800)]
i965: fix point sprite on sandybridge
Need to set point sprite function in fixed SF state now on sandybridge.
Zhenyu Wang [Tue, 28 Sep 2010 07:35:22 +0000 (15:35 +0800)]
i965: fix scissor state on sandybridge
Fix incorrect scissor rect struct and missed scissor state pointer
setting for sandybridge.
Zhenyu Wang [Sun, 26 Sep 2010 05:17:18 +0000 (13:17 +0800)]
i965: enable polygon offset on sandybridge
Depth offset function is moved to SF stage on sandybridge.
Zhenyu Wang [Sat, 25 Sep 2010 02:50:24 +0000 (10:50 +0800)]
i965: fix pixel w interpolation on sandybridge
Zhenyu Wang [Sat, 25 Sep 2010 02:48:52 +0000 (10:48 +0800)]
i965: don't do calculation for delta_xy on sandybridge
Sandybridge doesn't have Xstart/Ystart in payload header.
Zhenyu Wang [Fri, 17 Sep 2010 08:26:27 +0000 (16:26 +0800)]
i965: only allow SIMD8 kernel on sandybridge now
Until we fixed SIMD16 kernel, force to SIMD8 on sandybridge now.
Zhenyu Wang [Fri, 17 Sep 2010 07:08:09 +0000 (15:08 +0800)]
i965: sandybridge pipe control workaround before write cache flush
Must issue a pipe control with any non-zero post sync op before
write cache flush = 1 pipe control.
Zhenyu Wang [Thu, 16 Sep 2010 01:50:02 +0000 (09:50 +0800)]
i965: Add all device ids for sandybridge
Zhenyu Wang [Sun, 26 Sep 2010 05:13:32 +0000 (13:13 +0800)]
i965: fix const register count for sandybridge
Sandybridge's PS constant buffer payload size is decided from
push const buffer command, incorrect size would cause wrong data
in payload for position and vertex attributes. This fixes coefficients
for tex2d/tex3d.
Zhenyu Wang [Fri, 17 Sep 2010 06:17:06 +0000 (14:17 +0800)]
i965: Fix sampler on sandybridge
Sandybridge has not much change on texture sampler with Ironlake.
Zhenyu Wang [Tue, 28 Sep 2010 06:54:26 +0000 (14:54 +0800)]
i965: fix jump count on sandybridge
Jump count is for 64bit long each, so one instruction requires 2
like on Ironlake.
Zhenyu Wang [Fri, 17 Sep 2010 06:47:05 +0000 (14:47 +0800)]
i965: VS use SPF mode on sandybridge for now
Until conditional instructions were fixed, use SPF mode instead for now.
Zhenyu Wang [Fri, 17 Sep 2010 06:40:16 +0000 (14:40 +0800)]
i965: add sandybridge viewport state bo into validation list
Zhenyu Wang [Fri, 17 Sep 2010 06:25:43 +0000 (14:25 +0800)]
i965: ignore quads for GS kernel on sandybridge
Sandybridge's VF would convert quads to polygon which not required
for GS then. Current GS state still would cause hang on lineloop.
Zhenyu Wang [Fri, 17 Sep 2010 06:23:48 +0000 (14:23 +0800)]
i965: ff sync message change for sandybridge
Zhenyu Wang [Fri, 17 Sep 2010 05:08:22 +0000 (13:08 +0800)]
i965: fix point size setting in header on sandybridge
Zhenyu Wang [Fri, 17 Sep 2010 05:03:32 +0000 (13:03 +0800)]
i965: force zero in clipper to ignore RTAIndex on sandybridge
Zhenyu Wang [Fri, 17 Sep 2010 04:57:35 +0000 (12:57 +0800)]
i965: Fix color interpolation on sandybridge
Don't double store position in vertex attribute. This makes color
interpolation right by using barycentric coordinates.
Zhenyu Wang [Fri, 17 Sep 2010 04:45:01 +0000 (12:45 +0800)]
i965: enable accumulator update in PS kernel too on sandybridge
Accumulator update flag must be set for implicit update on sandybridge.
Zhenyu Wang [Fri, 17 Sep 2010 03:17:26 +0000 (11:17 +0800)]
i965: new state dump for sandybridge
Dump new state object on sandybridge for cc viewport, clip viewport,
depth stencil, cc and blend state.
Zhenyu Wang [Fri, 17 Sep 2010 03:13:26 +0000 (11:13 +0800)]
i965: disasm quarter and write enable instruction control on sandybridge
Eric Anholt [Sun, 22 Aug 2010 08:33:57 +0000 (01:33 -0700)]
i965: Add support for POW in gen6 FS.
Fixes glsl-algebraic-pow-2 in brw_wm_glsl.c mode.
Eric Anholt [Sat, 21 Aug 2010 01:15:14 +0000 (18:15 -0700)]
i965: Set up inputs to the fragment shader according to FP InputsRead.
Sending down data that doesn't get read doesn't make any sense, and
would make handling things like gl_FrontFacing and gl_PointCoord
harder.
Eric Anholt [Sun, 26 Sep 2010 05:28:51 +0000 (13:28 +0800)]
i965: Add support for attribute interpolation on Sandybridge.
Things are simpler these days thanks to barycentric interpolation
parameters being handed in in the payload.
Vinson Lee [Tue, 28 Sep 2010 07:27:31 +0000 (00:27 -0700)]
dri: Add GET_PROGRAM_NAME definition for Mac OS X.
Tom Stellard [Tue, 28 Sep 2010 03:51:05 +0000 (20:51 -0700)]
r300/compiler: Use rc_for_all_reads_src() in "dead constants" pass
Tom Stellard [Tue, 28 Sep 2010 03:35:58 +0000 (20:35 -0700)]
r300/compiler: radeon_remove_constants.c: fix indentation
Tom Stellard [Mon, 27 Sep 2010 05:16:19 +0000 (22:16 -0700)]
r300/compiler: Print immediate values after "dead constants" pass
Tom Stellard [Fri, 24 Sep 2010 04:15:06 +0000 (21:15 -0700)]
r300/compiler: Add more helper functions for iterating through sources
rc_for_all_reads_src() and rc_pair_for_all_reads_arg() pass references to
instruction sources to the callback so they can be modified directly.
Dave Airlie [Tue, 28 Sep 2010 04:27:22 +0000 (14:27 +1000)]
r600g: fix db flush breaking config state
Marek Olšák [Tue, 28 Sep 2010 03:07:23 +0000 (05:07 +0200)]
r300g: fix swizzling of texture border color
NOTE: This is a candidate for the 7.9 branch.
Marek Olšák [Sun, 29 Aug 2010 01:48:42 +0000 (03:48 +0200)]
r300g: add support for 3D NPOT textures without mipmapping
The driver actually creates a 3D texture aligned to POT and does all
the magic with texture coordinates in the fragment shader. It first
emulates REPEAT and MIRRORED wrap modes in the fragment shader to get
the coordinates into the range [0, 1]. (already done for 2D NPOT)
Then it scales them to get the coordinates of the NPOT subtexture.
NPOT textures are now less of a lie and we can at least display
something meaningful even for the 3D ones.
Supported wrap modes:
- REPEAT
- MIRRORED_REPEAT
- CLAMP_TO_EDGE (NEAREST filtering only)
- MIRROR_CLAMP_TO_EDGE (NEAREST filtering only)
- The behavior of other CLAMP modes is undefined on borders, but they usually
give results very close to CLAMP_TO_EDGE with mirroring working perfectly.
This fixes:
- piglit/fbo-3d
- piglit/tex3d-npot
Marek Olšák [Tue, 28 Sep 2010 01:58:23 +0000 (03:58 +0200)]
r300/compiler: fix shadow sampling with swizzled coords
Taking the W component from coords directly ignores swizzling. Instead,
take the component which is mapped to W in the TEX instruction parameter.
The same for Z.
NOTE: This is a candidate for the 7.9 branch.
Marek Olšák [Tue, 28 Sep 2010 02:30:32 +0000 (04:30 +0200)]
r300/compiler: do not use copy propagation if SaturateMode is used
NOTE: This is a candidate for the 7.9 branch.
Marek Olšák [Tue, 28 Sep 2010 00:28:25 +0000 (02:28 +0200)]
r300/compiler: fix projective mapping of 2D NPOT textures
NOTE: This is a candidate for the 7.9 branch.
Marek Olšák [Tue, 28 Sep 2010 00:20:26 +0000 (02:20 +0200)]
r300g: code cleanups
Some random stuff I had here.
1) Fixed some misleading comments.
2) Removed fake_npot, since it's redundant.
3) lower_texture_rect -> scale_texcoords
4) Reordered and reindented some TEX transform code.
Eric Anholt [Tue, 28 Sep 2010 01:31:53 +0000 (18:31 -0700)]
i965: Add support for dFdx()/dFdy() to the FS backend.
Fixes:
glsl-fwidth
glsl-derivs-swizzle
Eric Anholt [Tue, 28 Sep 2010 01:29:15 +0000 (18:29 -0700)]
i965: Fix vector splitting RHS channel selection with sparse writemasks.
Fixes:
glsl-fs-all-02
glsl-fs-dot-vec2
Eric Anholt [Mon, 27 Sep 2010 23:11:18 +0000 (16:11 -0700)]
i965: Handle all_equal/any_nequal in the new FS.
These are generated for scalar operands instead of plain equal/nequal.
But for scalars, they're the same anyway. +30 piglits.
Eric Anholt [Mon, 27 Sep 2010 22:10:34 +0000 (15:10 -0700)]
i965: Remove swizzling of assignment to vector-splitting single-channel LHS.
We'd end up reading some non-x component of the float RHS. +53 piglits.
Eric Anholt [Mon, 27 Sep 2010 21:38:51 +0000 (14:38 -0700)]
i965: Fix up writemasked assignments in the new FS.
Not sure how I managed to get tests to succeed without this. +54 piglits.
Eric Anholt [Mon, 27 Sep 2010 22:48:15 +0000 (15:48 -0700)]
glsl: Add validation that a swizzle only references valid channels.
Caught the bug in the previous commit.
Eric Anholt [Mon, 27 Sep 2010 22:46:51 +0000 (15:46 -0700)]
glsl: Fix broadcast_index of lower_variable_index_to_cond_assign.
It's trying to get an int smeared across all channels, not trying to
get a 1:1 mapping of a subset of a vector's channels. This usually
ended up not mattering with ir_to_mesa, since it just smears floats
into every chan of a vec4.
Fixes:
glsl1-temp array with swizzled variable indexing
Ian Romanick [Mon, 20 Sep 2010 13:41:39 +0000 (15:41 +0200)]
Remove unnescessary initializations of UpdateTexturePalette
This is already NULL'ed in _mesa_init_driver_functions.
Ian Romanick [Sat, 18 Sep 2010 14:43:08 +0000 (16:43 +0200)]
Regenerate files changed by previous commit
Ian Romanick [Sat, 18 Sep 2010 14:41:44 +0000 (16:41 +0200)]
Remove GL_EXT_cull_vertex
This is only used in the i915 driver where it provides little benefit
for very few applications that use it with fixed function TNL.
Ian Romanick [Sat, 18 Sep 2010 14:21:00 +0000 (16:21 +0200)]
Remove GL_MESA_packed_depth_stencil
This extension was never enabled in any driver.
Ian Romanick [Mon, 27 Sep 2010 21:55:52 +0000 (14:55 -0700)]
mesa: Force GL_SGIS_generate_mipmap to always be enabled
As per discussions at XDS.
Ian Romanick [Mon, 27 Sep 2010 21:29:12 +0000 (14:29 -0700)]
mesa: Force GL_ARB_copy_buffer to always be enabled
As per discussions at XDS.
Luca Barbieri [Mon, 27 Sep 2010 22:16:22 +0000 (00:16 +0200)]
d3d1x: work around crash in widl
Luca Barbieri [Mon, 27 Sep 2010 20:52:34 +0000 (22:52 +0200)]
d3d11: fix reference counting so devices get freed
Ian Romanick [Mon, 27 Sep 2010 21:11:07 +0000 (14:11 -0700)]
dri: Ensure that DRI driver cpp files are in tarballs
Brian Paul [Mon, 27 Sep 2010 21:05:29 +0000 (15:05 -0600)]
softpipe: fix swizzling of texture border color
We ask the texture tile cache to swizzle the color for us since that's
where the view/swizzling info is available.
Brian Paul [Mon, 27 Sep 2010 21:00:22 +0000 (15:00 -0600)]
llvmpipe: fix swizzling of texture border color
The pipe_sampler_view's swizzle terms also apply to the texture border
color. Simply move the apply_sampler_swizzle() call after we fetch
the border color.
Fixes many piglit texwrap failures.
Jerome Glisse [Mon, 27 Sep 2010 21:00:07 +0000 (17:00 -0400)]
r600g: fix occlusion query after change to block structure
block->reg point to register value not block->pm4 which point
to packet.
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Brian Paul [Mon, 27 Sep 2010 20:30:56 +0000 (14:30 -0600)]
softpipe: allocate tile data on demand
Changes in v2:
- Invalidate last_tile_addr on any change, fixing regressions
- Correct coding style
Currently softpipe ends up allocating more than 200 MB of memory
for each context due to the tile caches.
Even worse, this memory is all explicitly cleared, which means that the
kernel must actually back it with physical RAM right away.
This change allocates tile memory on demand.
Signed-off-by: Brian Paul <brianp@vmware.com>
Luca Barbieri [Mon, 27 Sep 2010 19:40:13 +0000 (21:40 +0200)]
d3d1x: fix Map
Luca Barbieri [Mon, 27 Sep 2010 18:25:17 +0000 (20:25 +0200)]
d3d1x: rework DXGI for occlusion testing and default width/height
Luca Barbieri [Mon, 27 Sep 2010 17:30:34 +0000 (19:30 +0200)]
d3d1x: put proper calling convention in headers, fixes 64-bit builds
Luca Barbieri [Mon, 27 Sep 2010 16:25:41 +0000 (18:25 +0200)]
d3d1x: properly support specifying MipLevels as 0
Luca Barbieri [Mon, 27 Sep 2010 16:08:58 +0000 (18:08 +0200)]
d3d1x: support centroid interpolation
Luca Barbieri [Mon, 27 Sep 2010 16:07:45 +0000 (18:07 +0200)]
ureg: support centroid interpolation
Luca Barbieri [Mon, 27 Sep 2010 14:15:44 +0000 (16:15 +0200)]
d3d1x: link to libdrm for X11 platform too
Thanks to Xavier Chantry.
Luca Barbieri [Mon, 27 Sep 2010 13:40:41 +0000 (15:40 +0200)]
d3d11: ignore StructureByteStride
D3D11 applications are allowed to pass a random value if the buffer
is not structured
Luca Barbieri [Mon, 27 Sep 2010 13:34:26 +0000 (15:34 +0200)]
d3d11: advertise IDXGIDevice1, not just IDXGIDevice
Fixes failure to create device in DirectX SDK samples.
Vinson Lee [Mon, 27 Sep 2010 20:13:25 +0000 (13:13 -0700)]
scons: Add MinGW-w64 prefixes for MinGW build.
Jerome Glisse [Mon, 27 Sep 2010 19:13:14 +0000 (15:13 -0400)]
r600g: fix routing btw vertex & pixel shader
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Jerome Glisse [Mon, 27 Sep 2010 18:58:01 +0000 (14:58 -0400)]
r600g: fix pointsprite & resource unbinding
When asking to bind NULL resource assume it's unbinding
so free resource and unreference assoicated buffer.
Also fix pointsprite parameter.
Fix glsl-fs-pointcoord & fp-fragment-position
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Jerome Glisse [Mon, 27 Sep 2010 15:53:34 +0000 (11:53 -0400)]
r600g: build packet header once
Build packet header once and allow to add fake register support so
we can handle things like indexed set of register (evergreen sampler
border registers for instance.
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Jerome Glisse [Mon, 27 Sep 2010 13:01:55 +0000 (09:01 -0400)]
r600g: fix index buffer drawing
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Luca Barbieri [Mon, 27 Sep 2010 12:26:12 +0000 (14:26 +0200)]
d3d1x: link progs with CXXFLAGS
Luca Barbieri [Mon, 27 Sep 2010 12:23:33 +0000 (14:23 +0200)]
d3d1x: fix progs linking if not all EGL platforms are enabled
Luca Barbieri [Mon, 27 Sep 2010 12:16:31 +0000 (14:16 +0200)]
d3d1x: add private gitignore file
Luca Barbieri [Mon, 27 Sep 2010 12:07:34 +0000 (14:07 +0200)]
d3d1x: fix parallel build
Luca Barbieri [Mon, 27 Sep 2010 12:04:39 +0000 (14:04 +0200)]
gallium: add $(PROGS_DEPS) as dependencies for $(PROGS)
Commit
80ee3a440cd3c0403004cf35e0638fc52088b9ff added a PROGS_DEPS
definition, but no uses, even though it seems clearly intended
to be a set of additional dependencies for $(PROGS).
Correct this.
Luca Barbieri [Fri, 24 Sep 2010 08:10:09 +0000 (10:10 +0200)]
mesa: make makedepend an hard requirement
Currently makedepend is used by the Mesa Makefile-based build system,
but not required.
Unfortunately, not having it makes dependency resolution non-existent,
which is a source of subtle bugs, and is a rarely tested
configuration, since all Mesa developers likely have it installed.
Furthermore some idioms require dependency resolution to work at all,
such as making headers depend on generated files.
Tilman Sauerbeck [Mon, 27 Sep 2010 06:32:50 +0000 (08:32 +0200)]
r600g: Fixed two texture surface leaks in r600_blit_uncompress_depth().
Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
Dave Airlie [Mon, 27 Sep 2010 04:35:41 +0000 (14:35 +1000)]
r600g: add evergreen texture resource properly.
adding sampler border looks impossible with current design, another day, another corner case not worked out.
Vinson Lee [Sun, 26 Sep 2010 21:34:05 +0000 (14:34 -0700)]
r600g: Silence uninitialized variable warnings.
Fixes these GCC warnings.
r600_shader.c: In function 'tgsi_tex':
r600_shader.c:1611: warning: 'src2_chan' may be used uninitialized in this function
r600_shader.c:1611: warning: 'src_chan' may be used uninitialized in this function
Marek Olšák [Sat, 25 Sep 2010 12:57:32 +0000 (14:57 +0200)]
r300g: fix macrotiling on R350
MACRO_SWITCH on R350 appears to use the RV350 mode by default. Who knew?
NOTE: This is a candidate for the 7.9 branch.
Jerome Glisse [Sun, 26 Sep 2010 20:27:36 +0000 (16:27 -0400)]
r600g: use depth decompression in new path
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Jerome Glisse [Sun, 26 Sep 2010 20:25:47 +0000 (16:25 -0400)]
r600g: move around variables to share depth uncompression code
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Joakim Sindholt [Sun, 26 Sep 2010 17:39:05 +0000 (19:39 +0200)]
radeong: fix leaks
Joakim Sindholt [Sun, 26 Sep 2010 17:03:02 +0000 (19:03 +0200)]
util/u_blitter: fix leak
Bas Nieuwenhuizen [Sat, 25 Sep 2010 14:11:42 +0000 (16:11 +0200)]
r600g: set ENABLE_KILL on evergreen too
Bas Nieuwenhuizen [Sat, 25 Sep 2010 14:11:40 +0000 (16:11 +0200)]
r600g: set ENABLE_KILL in the shader state in the new design
Jerome Glisse [Sun, 26 Sep 2010 16:06:46 +0000 (12:06 -0400)]
r600g: disable early cull optimization when occlusion query running
When occlusion query are running we want to have accurate
fragment count thus disable any early culling optimization
GPU has.
Based on work from Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Vinson Lee [Sun, 26 Sep 2010 10:23:31 +0000 (03:23 -0700)]
r600g: Include p_compiler.h instead of malloc.h.
Vinson Lee [Sun, 26 Sep 2010 10:18:12 +0000 (03:18 -0700)]
r600g: Remove unused variables.
Fixes these GCC warnings.
radeon.c: In function 'radeon_new':
radeon.c:59: warning: unused variable 'k'
radeon.c:59: warning: unused variable 'j'
radeon.c:59: warning: unused variable 'id'
radeon.c:59: warning: unused variable 'i'