Age | Commit message (Collapse) | Author |
|
vsplit is based on varray. It sets the split flags when a primitive is
splitted. It also has support for indexed primitives.
For indexed primitives, unlike vcache, vsplit splits the primitives
instead of decomposes them.
|
|
draw_pt_trim_count is renamed from trim in draw_pt.c.
|
|
The run method is simplified to take the start vertex and the vertex
count.
|
|
Update the middle end interface to pass the primitive flags from the
frontends to the pipeline. No frontend sets the flags yet.
|
|
A primitive may be splitted in frontends. The splitted primitives
should convey certain flag bits so that the decomposer can correctly
decide the stipple or edge flags.
This commit adds flags to draw_prim_info and updates the decomposer to
honor the flags. Frontends and middle ends will be updated later.
|
|
This commit silences the printing off most of the debug information
when running debug builds. The big culprits are: the tgsi sanity checker
that gets run on all shaders on debug; all the options; and
finaly the cpu caps printer.
|
|
|
|
This logic duplicates the one in p_config.h, so remove it and adjust
the only two places that were using it.
|
|
It causes a very ugly corruption on the Earth's halo on Google Earth.
|
|
This reverts commit de4784e36505316c2a5ab34cc5b371d17f38d3c5.
|
|
No need to enable depth test for clear.
|
|
|
|
Currently translate asserts on unsupported output formats, making
it impossible to use for some purposes, such as testing whether it
actually works on all formats it supports.
Removing the assert was met with opposition, so this change allows
clients to ask whether an output format is supported, and they are thus
able to avoid attempting to use it.
Since this is just an addition to the API, no adverse effect is
possible, and it makes the testsuite work again.
|
|
Fixes MSVC build.
|
|
This is a follow-up to commit b85c71d4e1e4ed788be834dff5b7b3c0cd0402ac
which added u_staging.c to make.
|
|
Thanks to Michal for spotting this.
|
|
supported"
This reverts commit 16b45ca7cefb3432b4133fe9d0b1dbfe3f286131.
José Fonseca asked for a revert.
Note that the testsuite will now segfault since it attempts to test
all possible formats.
|
|
translate was attempting to output A8R8G8B8_UNORM as if it were
R8G8B8A8_UNORM.
Now the tests just added pass.
|
|
This gives the caller a chance to recover (or crash anyway otherwise).
|
|
util_framebuffer_copy was attempting to copy all elements of the
source framebuffer state.
However, this breaks if the user does not zero initialize the structure.
Instead, only copy the elements up to nr_cbufs, and clear elements up
to dst->nr_cbufs, if the destination was larger than the source.
|
|
Single divide, so let lp_build_div decide how to implement this.
This will save a multiplication in architectures which don't have
a RCP intrinsic.
|
|
Texture dimensions are unsigned.
|
|
|
|
Direct3D 10/11 has no concept of transfers. Applications instead
create resources with a STAGING or DYNAMIC usage, copy between them
and the real resource and use Map to map the STAGING/DYNAMIC resource.
This util module allows to implement Gallium drivers as a Direct3D
driver would be implemented: transfers allocate a resource with
PIPE_USAGE_STAGING, and copy the data between it and the real resource
with resource_copy_region.
|
|
Used to find out if a surface exists without creating one.
|
|
Using cso_hash directly is the right thing since util_hash_table
adds useless overhead and is harder to use for this application.
|
|
|
|
They are unimplemented, even though the framework makes it possible to
implement them well, and nv50 needs them.
|
|
Current practice is to start identifiers with "util_" instead of "u_".
|
|
This is a simple framework that handles splitting primitives in an
abstract way.
The user has to specify the primitive start, start index and count.
Then, it can ask the primitive splitter to "draw" a chunk of the
primitive, staying under a given vertex/index budget.
The primitive splitter will then call user-supplied functions to
emit a range of vertices/indices, as well as switch the edgeflag
on or off.
This is particularly useful for hardware that either has limits
on the vertex count field, or where vertices are pushed on a FIFO
or temporary buffer of limited size.
Note that unlike other splitters, it does not manipulate data in
any way, and merely asks a callback to do so, in vertex intervals.
|
|
To convert RGB -> SRGB format.
|
|
Since there's no SSE instruction for this case, fall through to the
generic shuffle code.
Fixes bug fd.o 29468.
|
|
http://bugs.freedesktop.org/29407
Signed-off-by: José Fonseca <jfonseca@vmware.com>
|
|
http://bugs.freedesktop.org/29407
Signed-off-by: José Fonseca <jfonseca@vmware.com>
|
|
|
|
It didn't exist yet.
|
|
This fixes the assert added in LLVM 2.8:
assert(getType()->isIntOrIntVectorTy() &&
"Tried to create an integer operation on a non-integer type!")
But it also fixes some subtle bugs, since we should've been doing this
since LLVM 2.6 anyway.
Includes a modified patch from steckdenis@yahoo.fr for the
FNeg instructions in emit_fetch(); thanks for pointing those out.
http://bugs.freedesktop.org/29404
http://bugs.freedesktop.org/29407
Signed-off-by: José Fonseca <jfonseca@vmware.com>
|
|
It's bound to be useful elsewhere.
|
|
|
|
See:
http://bugs.freedesktop.org/29407
|
|
|
|
|
|
Two integers were being operated on as
a vector of floats in draw_llvm_generate().
This bug got uncovered by fixing this bug:
http://bugs.freedesktop.org/29407
|
|
|
|
Assert that "first" is always smaller than "count" and add reasoning.
It would be better to simply fix trim(), but it is used in tight loops
right now.
|
|
Some primitives with adjacency have their "incr" wrong.
|
|
642d5ba79abc6a231a5fdabb3454b9b082b0d7f8 removed flags masking for
vertices other than the first one. Add assertions to be on the safe
side.
|
|
Do not expand LOCAL_VARS to void expression. Otherwise, declarations
and code will be mixed when more variables are declared in FUNC_ENTER.
This fixes fdo bug #29416.
|
|
Vertex flags are a contract between vcache and the pipeline. They are
set only for the first vertex of a primitive.
|
|
This fixes out-of-bound access to the vertices.
|