Commit graph

47151 commits

Author SHA1 Message Date
Christoph Bumiller
44c23e9052 nvc0: fixes for program tessellation parameters 2011-10-21 23:00:39 +02:00
Christoph Bumiller
8bc3a87f40 nv50,nvc0: reset per-instance state for inactive vertex elements 2011-10-21 23:00:39 +02:00
Christoph Bumiller
6994b57a50 nv50,nvc0: reset base element in draw_arrays
It affects VERTEX_BUFFER_FIRST,COUNT submission, too.
2011-10-21 23:00:39 +02:00
Christoph Bumiller
8828004e67 nvc0: apply first_layer offset to all resources with array_size
Makes CUBE arrays work with d3d1x.
2011-10-21 23:00:39 +02:00
Christoph Bumiller
840bc04b43 nvc0: emit state to allow GP to select the RT layer 2011-10-21 23:00:39 +02:00
Christoph Bumiller
6db14200eb nvc0: validate GP samplers, textures 2011-10-21 23:00:39 +02:00
Christoph Bumiller
e104bb9f92 nvc0: fix clear_render_target/depth_stencil region
In all 3 dimensions (now clearing all layers too).
2011-10-21 23:00:39 +02:00
Christoph Bumiller
ff583a47ee nvc0: fix assertion that immediate array buffer fits 2011-10-21 23:00:39 +02:00
Christoph Bumiller
52c8c52b22 nv50/ir: use RDSV to fetch FrontFacing before lowering 2011-10-21 23:00:39 +02:00
Christoph Bumiller
9c930639d9 nv50/ir: fix textureGrad with offsets and in non-FPs 2011-10-21 23:00:39 +02:00
Christoph Bumiller
0e4e0ca6df nv50/ir: add wrap mode for shift operations
D3D1x specifies that only the low 5 bit of the shift are used.
2011-10-21 23:00:39 +02:00
Christoph Bumiller
974102c7c2 nv50/ir: initialize RelocInfo to 0 2011-10-21 23:00:38 +02:00
Christoph Bumiller
7920c3c192 nvc0/ir: fix emission of cvt when register and type size differ 2011-10-21 23:00:38 +02:00
Christoph Bumiller
37a08ddce5 nv50/ir: fix argument count for CUBE_ARRAY texture target 2011-10-21 23:00:38 +02:00
Christoph Bumiller
2ec5c8feb3 nvc0/ir: GP emit address must end up in $r0 2011-10-21 23:00:38 +02:00
Christoph Bumiller
30cb66cd74 nvc0/ir: TXQ requires different lowering from normal TEX 2011-10-21 23:00:38 +02:00
Christoph Bumiller
6b27f14680 nv50/ir: initialize default prog_info values for GP,TP 2011-10-21 23:00:38 +02:00
Christoph Bumiller
63ca1abcc4 nv50/ir: fix memory value equality check 2011-10-21 23:00:38 +02:00
Christoph Bumiller
e3a3844e8d nv50/ir: fix leak in removal of graph root 2011-10-21 23:00:38 +02:00
Christoph Bumiller
d5cfab703b d3d1x: fix/improve OMSetRenderTargets
Don't count trailing NULL RTVs.
Don't skip update if only DSV has changed.
2011-10-21 23:00:38 +02:00
Christoph Bumiller
3dff43d897 d3d1x: avoid translating invalid blend, depth or stencil state 2011-10-21 23:00:38 +02:00
Christoph Bumiller
74ff845e33 d3d1x: add support for buffer views 2011-10-21 23:00:38 +02:00
Christoph Bumiller
1fc5aee8ff d3d1x: improve CreateInputLayout 2011-10-21 23:00:38 +02:00
Christoph Bumiller
856f3336dc d3d1x/context: fix IASetVertexBuffers stride comparison 2011-10-21 23:00:38 +02:00
Christoph Bumiller
5b6f3a2e3c d3d1x: use ZS formats for TYPELESS resources with DS binding 2011-10-21 23:00:38 +02:00
Christoph Bumiller
845808f105 d3d1x: use resource format if view format is UNKNOWN 2011-10-21 23:00:37 +02:00
Christoph Bumiller
5081ebf238 d3d1x: fix shadow comparison to gallium enum off by one 2011-10-21 23:00:37 +02:00
Christoph Bumiller
c0e03c7694 d3d1x: improve CheckFormatSupport 2011-10-21 23:00:37 +02:00
Christoph Bumiller
77574bf0f4 d3d1x: update format mapping table
Use the proper integer formats.
Fix mapping of some PIPE depth formats to DXGI.
2011-10-21 23:00:37 +02:00
Christoph Bumiller
6ab6c43079 d3d1x: fix translation of subresource to layer 2011-10-21 23:00:37 +02:00
Christoph Bumiller
4b7851623e d3d1x: fix initial data upload for 3D textures 2011-10-21 23:00:37 +02:00
Christoph Bumiller
dac5baf2e4 d3d1x: MipLevels -1 in resource view desc means all 2011-10-21 23:00:37 +02:00
Christoph Bumiller
5d70b5d10b d3d1x/dxgi: fix initialization of pipe_box for Present copy 2011-10-21 23:00:37 +02:00
Christoph Bumiller
c463dfe4e4 d3d1x: implement array textures 2011-10-21 23:00:37 +02:00
Christoph Bumiller
c43b2f6a30 nvc0/ir: handle levelZero modifier in TEX emission 2011-10-21 23:00:37 +02:00
Christoph Bumiller
b5f2c0505f nvc0/ir: fix lowering of DIV F32 2011-10-21 23:00:37 +02:00
Christoph Bumiller
cb88426293 d3d1x: fix refcounting of GalliumD3D11DeviceChild objects
An external Release would have lowered the device reference count,
but an internal reference in the context does not raise it (by
design).
2011-10-21 23:00:37 +02:00
Christoph Bumiller
3fc2818f2b nvc0/ir: fix xy confusion typo in readTessCoord 2011-10-21 23:00:37 +02:00
Christoph Bumiller
c8ae342bf3 d3d1x/sm4: save CUSTOMDATA
This is the data for the immediate constant buffer.
2011-10-21 23:00:36 +02:00
Christoph Bumiller
903e3257d0 d3d1x: add FORK/JOIN phase opcodes to declarations
The phase instance counts are not necessarily redeclared so with
the separation of declarations and instructions we wouldn't know
which instance count applies to which phase.
2011-10-21 23:00:36 +02:00
Christoph Bumiller
d2cc8aedb5 d3d1x: add shader signature to sm4_program
Correct linkage requires examining the signature itself, it cannot
be reconstructed from declarations only since unused registers may
have been omitted from them.
2011-10-21 23:00:36 +02:00
Christoph Bumiller
47eb8a23eb d3d1x: attempt to detect D3D10 feature level
Virtually all applications refuse to use the D3D10 backend if this
level is not supported, which makes testing annoying.
2011-10-21 23:00:36 +02:00
Christoph Bumiller
65303c49d1 d3d1x: switch to TGSI SAMPLE opcodes
We don't want to clutter the code or handicap new hardware for
the sake of ancient GPUs on which d3d1x won't ever be used,
much less be fully compliant, anyway.
2011-10-21 23:00:36 +02:00
Brian Paul
6b72eded19 st/mesa: fix a bug in and re-org setup_interleaved_attribs()
We were mis-computing the size of the user-space vertex buffer in
some circumstances.  This led to a failed assertion at u_inlines.h:222
when using the VMware svga driver.

For example, if we had arrays such as:

array[0]: element_offset = 12, stride = 24
array[1]: element_offset = 0, stride = 24

We'd mistakenly compute 'bytes' to be 12 bytes too small.

I've reorganized the function too.  By time it's called, we know that
we've got interleaved arrays either all in one VBO or all in user memory
and the stride is equal for all arrays.

Move the code that lived inside the attr==0 test after the loop.

In the loop we compute the true vertex size.  That size factors into the
pipe->redefine_user_buffer() call later.  Using the vertex size instead
of array[0]'s element_offset fixes the failed assertion.

Reviewed-by: José Fonseca <jfonseca@vmware.com>
2011-10-21 10:09:48 -06:00
Kenneth Graunke
1595c79d9c glsl: Short-circuit lower_if_to_cond_assign when MaxIfDepth is UINT_MAX.
Setting MaxIfDepth to UINT_MAX effectively means "don't lower anything."

Explicitly checking for this common case allows us to avoid walking the
IR, computing nesting levels, and so on.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Bryan Cain <bryancain3@gmail.com>
2011-10-21 01:11:20 -07:00
Kenneth Graunke
01f9fdc4ac i965: Set MaxIfDepth to UINT_MAX on Gen6+ and 16 on prior generations.
Commit 488fe51cf8 converted the EmitNoIfs
flag to MaxIfDepth, an unsigned integer saying "flatten if-statements
nested beyond this depth."

Unfortunately, i965 left this initialized to 0, which made ir_to_mesa
attempt to flatten all if-statements.  We didn't notice right away
because we usually throw away ir_to_mesa's code in favor of the native
VS and FS backends...but this still creates a lot of unnecessary work.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
2011-10-21 01:11:17 -07:00
Jeremy Huddleston
9f2abbee62 apple: Use the correct (OpenGL.framework) glViewport and glScissor during init
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-10-21 00:34:06 -07:00
Jeremy Huddleston
098ecfad83 apple: Silence some debug spew
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-10-21 00:34:06 -07:00
Marek Olšák
7a3bbd3d5d r600g: cleanup r600_reset_blittable_to_compressed 2011-10-21 03:34:54 +02:00
Vinson Lee
f664d6a2f3 st/mesa: Initialize variable.
ptr is uninitialized if ib is NULL.

Fixes Coverity uninitialized pointer read defect.

Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
2011-10-20 17:12:37 -07:00