OSDN Git Service
Eric Anholt [Tue, 28 Sep 2010 23:23:04 +0000 (16:23 -0700)]
i965: Add support for builtin uniforms to the new FS backend.
Fixes 8 piglit tests.
Eric Anholt [Tue, 28 Sep 2010 23:06:35 +0000 (16:06 -0700)]
mesa: Move the list of builtin uniform info from ir_to_mesa to shared code.
I'm still not pleased with how builtin uniforms are handled, but as
long as we're relying on the prog_statevar stuff this seems about as
good as it'll get.
Eric Anholt [Tue, 28 Sep 2010 22:28:06 +0000 (15:28 -0700)]
i965: Clean up obsolete FINISHME comment.
Eric Anholt [Tue, 28 Sep 2010 22:25:40 +0000 (15:25 -0700)]
i965: Fix array indexing of arrays of matrices.
The deleted code was meant to be handling indexing of a matrix, which
would have been a noop if it had been correct.
Dave Airlie [Tue, 28 Sep 2010 23:17:59 +0000 (09:17 +1000)]
r600g: move radeon.h members around to add back map flushing.
Dave Airlie [Tue, 28 Sep 2010 23:10:01 +0000 (09:10 +1000)]
r600g: add evergreen texture border support to new path
Dave Airlie [Tue, 28 Sep 2010 22:31:51 +0000 (08:31 +1000)]
r600g: add back evergreen name.
Eric Anholt [Tue, 28 Sep 2010 21:53:36 +0000 (14:53 -0700)]
i965: Don't try to emit interpolation for unused varying slots.
Fixes:
glsl-fs-varying-array
glsl-texcoord-array
glsl-texcoord-array-2
glsl-vs-varying-array
Eric Anholt [Fri, 3 Sep 2010 20:22:38 +0000 (13:22 -0700)]
i965: Do interpolation for varying matrices and arrays in the FS backend.
Fixes:
glsl-array-varying-01
glsl-vs-mat-add-1
glsl-vs-mat-div-1
glsl-vs-mat-div-2
glsl-vs-mat-mul-2
glsl-vs-mat-mul-3
Eric Anholt [Tue, 28 Sep 2010 21:32:16 +0000 (14:32 -0700)]
glsl: Also update implicit sizes of varyings at link time.
Otherwise, we'll often end up with gl_TexCoord being 0 length, for
example. With ir_to_mesa, things ended up working out anyway, as long
as multiple implicitly-sized arrays weren't involved.
Eric Anholt [Tue, 28 Sep 2010 20:29:45 +0000 (13:29 -0700)]
i965: Add support for ARB_fragment_coord_conventions to the new FS backend.
Fixes:
glsl-arb-frag-coord-conventions
glsl-fs-fragcoord
Eric Anholt [Tue, 28 Sep 2010 20:00:46 +0000 (13:00 -0700)]
i965: Add support for ir_loop counters to the new FS backend.
Fixes:
glsl1-discard statement in for loop
glsl-fs-loop-two-counter-02
glsl-fs-loop-two-counter-04
Tilman Sauerbeck [Sun, 26 Sep 2010 17:26:24 +0000 (19:26 +0200)]
r600g: Cleaned up index buffer reference handling in the draw module.
This fixes a buffer leak.
Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
Eric Anholt [Tue, 28 Sep 2010 19:34:21 +0000 (12:34 -0700)]
i965: Add support for MRT to the new FS backend.
Fixes these tests using gl_FragData or just gl_FragDepth:
glsl1-Preprocessor test (extension test 1)
glsl1-Preprocessor test (extension test 2)
glsl-bug-22603
Eric Anholt [Tue, 28 Sep 2010 19:07:30 +0000 (12:07 -0700)]
i965: Add support for non-color render target write data to new FS backend.
This is the first time these payload bits have made sense to me,
outside of brw_wm_pass* structure.
Fixes: glsl1-gl_FragDepth writing
Vinson Lee [Tue, 28 Sep 2010 19:03:45 +0000 (12:03 -0700)]
scons: Add program/sampler.cpp to SCons build.
This is a follow-up to commit
a32893221ce253da7bb465e0ec9d0df5f7208d8f.
Fixes MinGW SCons build.
Eric Anholt [Tue, 28 Sep 2010 17:53:47 +0000 (10:53 -0700)]
i965: Set up sampler numbers in the FS backend.
+10 piglits
Eric Anholt [Tue, 28 Sep 2010 17:43:56 +0000 (10:43 -0700)]
mesa: Pull ir_to_mesa's sampler number fetcher out to shared code.
Jerome Glisse [Tue, 28 Sep 2010 18:34:25 +0000 (14:34 -0400)]
r600g: avoid rebuilding the vertex shader if no change to input format
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Jerome Glisse [Tue, 28 Sep 2010 18:21:35 +0000 (14:21 -0400)]
r600g: suspend/resume occlusion query around clear/copy
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Marek Olšák [Tue, 28 Sep 2010 17:32:32 +0000 (19:32 +0200)]
configure.ac: do not build xorg-r300g by default
NOTE: This is a candidate for the 7.9 branch.
Marek Olšák [Sun, 26 Sep 2010 15:52:58 +0000 (17:52 +0200)]
configure.ac: look for libdrm_radeon before building gallium/r300,r600
NOTE: This is a candidate for the 7.9 branch.
Eric Anholt [Tue, 28 Sep 2010 17:18:31 +0000 (10:18 -0700)]
i965: Subtract instead of adding when computing y delta in new FS backend.
Fixes 7 piglit cases.
Eric Anholt [Tue, 28 Sep 2010 16:47:37 +0000 (09:47 -0700)]
i965: Add support for gl_FrontFacing to the new FS backend.
Fixes:
glsl1-gl_FrontFacing var (1)
glsl1-gl_FrontFacing var (2)
Eric Anholt [Tue, 28 Sep 2010 17:05:10 +0000 (10:05 -0700)]
i965: Fix up part of my Sandybridge attributes support patch.
I confused the array sizing for number of files for the number of regs
in a file.
Eric Anholt [Tue, 28 Sep 2010 17:07:56 +0000 (10:07 -0700)]
i965: Fix all non-snb regression in the snb attribute interpolation commit.
This apparently had never been tested elsewhere before being merged to
master.
Eric Anholt [Tue, 28 Sep 2010 16:31:56 +0000 (09:31 -0700)]
i965: Add support for struct, array, and matrix uniforms to FS backend.
Fixes 16 piglit cases.
Eric Anholt [Tue, 28 Sep 2010 05:26:22 +0000 (22:26 -0700)]
i965: Add support for dereferencing structs to the new FS backend.
Fixes: glsl1-struct(2)
Eric Anholt [Tue, 28 Sep 2010 05:19:51 +0000 (22:19 -0700)]
i965: Set the variable type when dereferencing an array.
We don't set the type on the array virtual reg as a whole, so here's
the right place.
Fixes:
glsl1-GLSL 1.20 arrays
glsl1-temp array with constant indexing, fragment shader
glsl1-temp array with swizzled variable indexing
Eric Anholt [Tue, 28 Sep 2010 05:15:36 +0000 (22:15 -0700)]
i965: Fix up the FS backend for the variable array indexing pass.
We need to re-run channel expressions afterwards as it generates new
vector expressions, and we need to successfully support conditional
assignment (brw_CMP takes 2 operands, not 1).
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