Commit graph

39475 commits

Author SHA1 Message Date
Zhenyu Wang
7401a98e29 i965: add sandybridge viewport state bo into validation list 2010-09-28 15:58:20 +08:00
Zhenyu Wang
a0b1d7b2b8 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.
2010-09-28 15:58:20 +08:00
Zhenyu Wang
67dafa4b56 i965: ff sync message change for sandybridge 2010-09-28 15:58:20 +08:00
Zhenyu Wang
fa589770e8 i965: fix point size setting in header on sandybridge 2010-09-28 15:58:20 +08:00
Zhenyu Wang
03218a0093 i965: force zero in clipper to ignore RTAIndex on sandybridge 2010-09-28 15:58:20 +08:00
Zhenyu Wang
41c31c2ebd i965: Fix color interpolation on sandybridge
Don't double store position in vertex attribute. This makes color
interpolation right by using barycentric coordinates.
2010-09-28 15:58:20 +08:00
Zhenyu Wang
8c31a4c3cf i965: enable accumulator update in PS kernel too on sandybridge
Accumulator update flag must be set for implicit update on sandybridge.
2010-09-28 15:58:19 +08:00
Zhenyu Wang
b016a78b98 i965: new state dump for sandybridge
Dump new state object on sandybridge for cc viewport, clip viewport,
depth stencil, cc and blend state.
2010-09-28 15:58:19 +08:00
Zhenyu Wang
bf60f35934 i965: disasm quarter and write enable instruction control on sandybridge 2010-09-28 15:58:19 +08:00
Eric Anholt
fe2d4a5ea0 i965: Add support for POW in gen6 FS.
Fixes glsl-algebraic-pow-2 in brw_wm_glsl.c mode.
2010-09-28 15:58:19 +08:00
Eric Anholt
2f914053bc 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.
2010-09-28 15:58:19 +08:00
Eric Anholt
a66e9a4d86 i965: Add support for attribute interpolation on Sandybridge.
Things are simpler these days thanks to barycentric interpolation
parameters being handed in in the payload.
2010-09-28 15:58:19 +08:00
Vinson Lee
79d5657770 dri: Add GET_PROGRAM_NAME definition for Mac OS X. 2010-09-28 00:27:31 -07:00
Tom Stellard
b3e95dc45c r300/compiler: Use rc_for_all_reads_src() in "dead constants" pass 2010-09-27 23:17:11 -07:00
Tom Stellard
40d256295c r300/compiler: radeon_remove_constants.c: fix indentation 2010-09-27 23:17:11 -07:00
Tom Stellard
a716952184 r300/compiler: Print immediate values after "dead constants" pass 2010-09-27 23:17:11 -07:00
Tom Stellard
798355d429 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.
2010-09-27 23:17:11 -07:00
Dave Airlie
34dba5f05a r600g: fix db flush breaking config state 2010-09-28 14:32:13 +10:00
Marek Olšák
e4fd65e9d7 r300g: fix swizzling of texture border color
NOTE: This is a candidate for the 7.9 branch.
2010-09-28 05:34:51 +02:00
Marek Olšák
13359e6a4b 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
2010-09-28 05:34:51 +02:00
Marek Olšák
7128e1625b 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.
2010-09-28 05:34:51 +02:00
Marek Olšák
c2ea7ffb0a r300/compiler: do not use copy propagation if SaturateMode is used
NOTE: This is a candidate for the 7.9 branch.
2010-09-28 05:34:51 +02:00
Marek Olšák
6f747567ec r300/compiler: fix projective mapping of 2D NPOT textures
NOTE: This is a candidate for the 7.9 branch.
2010-09-28 05:34:51 +02:00
Marek Olšák
82f8e43bfa 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.
2010-09-28 05:34:51 +02:00
Eric Anholt
94d44c33c0 i965: Add support for dFdx()/dFdy() to the FS backend.
Fixes:
glsl-fwidth
glsl-derivs-swizzle
2010-09-27 18:31:53 -07:00
Eric Anholt
3610e0c1a0 i965: Fix vector splitting RHS channel selection with sparse writemasks.
Fixes:
glsl-fs-all-02
glsl-fs-dot-vec2
2010-09-27 18:29:15 -07:00
Eric Anholt
169ff0cc9d 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.
2010-09-27 16:12:18 -07:00
Eric Anholt
a5c6c8a31b 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.
2010-09-27 16:09:50 -07:00
Eric Anholt
11ba8bafdb i965: Fix up writemasked assignments in the new FS.
Not sure how I managed to get tests to succeed without this.  +54 piglits.
2010-09-27 16:07:42 -07:00
Eric Anholt
5e8ed7a79b glsl: Add validation that a swizzle only references valid channels.
Caught the bug in the previous commit.
2010-09-27 15:52:56 -07:00
Eric Anholt
668cdbe129 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
2010-09-27 15:52:56 -07:00
Ian Romanick
8b2d5f431f Remove unnescessary initializations of UpdateTexturePalette
This is already NULL'ed in _mesa_init_driver_functions.
2010-09-27 15:23:14 -07:00
Ian Romanick
78db8c8b66 Regenerate files changed by previous commit 2010-09-27 15:23:14 -07:00
Ian Romanick
02984e3536 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.
2010-09-27 15:23:14 -07:00
Ian Romanick
4b1f98241f Remove GL_MESA_packed_depth_stencil
This extension was never enabled in any driver.
2010-09-27 15:23:14 -07:00
Ian Romanick
7f11d471e6 mesa: Force GL_SGIS_generate_mipmap to always be enabled
As per discussions at XDS.
2010-09-27 15:23:13 -07:00
Ian Romanick
4da5f1b7c5 mesa: Force GL_ARB_copy_buffer to always be enabled
As per discussions at XDS.
2010-09-27 15:23:13 -07:00
Luca Barbieri
a73c6ce67b d3d1x: work around crash in widl 2010-09-28 00:18:25 +02:00
Luca Barbieri
9126826594 d3d11: fix reference counting so devices get freed 2010-09-27 23:43:53 +02:00
Ian Romanick
923c3334fb dri: Ensure that DRI driver cpp files are in tarballs 2010-09-27 14:16:16 -07:00
Brian Paul
de2dfce0d9 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.
2010-09-27 15:06:23 -06:00
Brian Paul
3446af0179 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.
2010-09-27 15:06:23 -06:00
Jerome Glisse
0282682e98 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>
2010-09-27 17:00:07 -04:00
Brian Paul
029c099b54 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>
2010-09-27 14:32:05 -06:00
Luca Barbieri
a359eb80c5 d3d1x: fix Map 2010-09-27 22:20:53 +02:00
Luca Barbieri
f976cd0c9e d3d1x: rework DXGI for occlusion testing and default width/height 2010-09-27 22:20:53 +02:00
Luca Barbieri
e01e2e1883 d3d1x: put proper calling convention in headers, fixes 64-bit builds 2010-09-27 22:20:53 +02:00
Luca Barbieri
b821fdd563 d3d1x: properly support specifying MipLevels as 0 2010-09-27 22:20:53 +02:00
Luca Barbieri
db6f1d0436 d3d1x: support centroid interpolation 2010-09-27 22:20:53 +02:00
Luca Barbieri
ff531c5b05 ureg: support centroid interpolation 2010-09-27 22:20:52 +02:00