| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
| |
Fixes hangs on radeonsi, and assert on llvmpipe.
Signed-off-by: Axel Davy <axel.davy@ens.fr>
Cc: "12.0" <mesa-stable@lists.freedesktop.org>
|
|
|
|
|
|
|
| |
Found looking at Wine formulas.
Fixes a few visual issues.
Signed-off-by: Axel Davy <axel.davy@ens.fr>
|
|
|
|
|
|
| |
Behaviour found in Wine sources, and checked with some test apps.
Signed-off-by: Axel Davy <axel.davy@ens.fr>
|
|
|
|
| |
Signed-off-by: Axel Davy <axel.davy@ens.fr>
|
|
|
|
|
|
|
| |
According to spec.
Signed-off-by: Axel Davy <axel.davy@ens.fr>
Reviewed-by: Patrick Rudolph <siro@das-labor.org>
|
|
|
|
|
|
|
| |
Found with wine tests for the rTmp register.
Not sure for the other ones.
Signed-off-by: Axel Davy <axel.davy@ens.fr>
|
|
|
|
|
| |
Signed-off-by: Axel Davy <axel.davy@ens.fr>
Reviewed-by: Patrick Rudolph <siro@das-labor.org>
|
|
|
|
|
|
|
|
|
|
| |
Same change than for vs ff.
This makes it easier to not introduce mistakes
reusing temporaries whose result shouldn't be
erased.
Signed-off-by: Axel Davy <axel.davy@ens.fr>
Reviewed-by: Patrick Rudolph <siro@das-labor.org>
|
|
|
|
|
|
|
|
|
| |
Error found with wine tests.
nine_shader was expecting another order
than the one device9 was using.
Signed-off-by: Axel Davy <axel.davy@ens.fr>
Reviewed-by: Patrick Rudolph <siro@das-labor.org>
|
|
|
|
|
|
|
|
|
| |
Thanks to wine tests.
Apparently 4x4 inverse is to be used, and
if the inverse can't be calculated, the
input matrix is to be used.
Signed-off-by: Axel Davy <axel.davy@ens.fr>
|
|
|
|
|
|
| |
Fix deduced from the spec.
Signed-off-by: Axel Davy <axel.davy@ens.fr>
|
|
|
|
|
|
| |
Behaviour checked with a test app.
Signed-off-by: Axel Davy <axel.davy@ens.fr>
|
|
|
|
|
|
|
|
|
|
| |
Wine tests for the passthrough feature are for positiont.
Nothing seems to indicate passthrough happens when positiont
it not used. However having passthrough with positiont makes
sense (to be used with ProcessVertices outputs).
Signed-off-by: Axel Davy <axel.davy@ens.fr>
|
|
|
|
|
| |
Signed-off-by: Axel Davy <axel.davy@ens.fr>
Reviewed-by: Patrick Rudolph <siro@das-labor.org>
|
|
|
|
|
|
|
| |
The computation was reversed.
Deduced by tests on windows.
Signed-off-by: Axel Davy <axel.davy@ens.fr>
|
|
|
|
|
|
| |
This behaviour has been partially tested on windows.
Signed-off-by: Axel Davy <axel.davy@ens.fr>
|
|
|
|
|
|
| |
Deduced by test on windows.
Signed-off-by: Axel Davy <axel.davy@ens.fr>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We were (wrongly) adding specular to diffuse
in vertex shaders when SPECULARENABLE was set.
However the spec says specular has to be added
after texture processing (which is in ps).
Besides SPECULARENABLE is flagged as a pixel state.
There was unused support for SPECULARENABLE
in the ps ff code.
Remove the vs code, and use the ps code.
Signed-off-by: Axel Davy <axel.davy@ens.fr>
|
|
|
|
|
| |
Signed-off-by: Axel Davy <axel.davy@ens.fr>
Reviewed-by: Patrick Rudolph <siro@das-labor.org>
|
|
|
|
|
|
|
| |
The formula is different from the one of the spec,
but otherwise nothing particular.
Signed-off-by: Axel Davy <axel.davy@ens.fr>
|
|
|
|
|
|
| |
Modern cards do advertise 8.
Signed-off-by: Axel Davy <axel.davy@ens.fr>
|
|
|
|
|
|
|
|
| |
There are several holes. This patch reduces
the holes a bit, which reduces the size of
the constant buffer uploaded.
Signed-off-by: Axel Davy <axel.davy@ens.fr>
|
|
|
|
|
|
|
| |
There was an multiplication by the world matrix 0
which had nothing to do there.
Signed-off-by: Axel Davy <axel.davy@ens.fr>
|
|
|
|
|
|
|
| |
The new order simplified the code a bit for
next patches.
Signed-off-by: Axel Davy <axel.davy@ens.fr>
|
|
|
|
|
|
| |
position_t disables fog computation.
Signed-off-by: Axel Davy <axel.davy@ens.fr>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This has been a real mess up to now: the temporaries
were allocated once, and shared after that between
the different parts of the code.
To help maintaining the code, the temporaries are now
allocated and released on need.
As surprising as it could be, this patch, which was
supposed to introduce no behaviour change, actually
solved a visual bug observed on a sample program.
This was due to ureg_normalize3 polluting a temporary
variable.
Signed-off-by: Axel Davy <axel.davy@ens.fr>
|
|
|
|
|
| |
Signed-off-by: Axel Davy <axel.davy@ens.fr>
Reviewed-by: Patrick Rudolph <siro@das-labor.org>
|
|
|
|
|
|
|
|
| |
When this state is set, the normals computed
in the vs ff shader should be normalized.
Signed-off-by: Axel Davy <axel.davy@ens.fr>
Reviewed-by: Patrick Rudolph <siro@das-labor.org>
|
|
|
|
|
|
|
|
| |
For now only VS 3 support is implemented.
This enables The Sims 2 to work.
Signed-off-by: Axel Davy <axel.davy@ens.fr>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Software Vertex Processing allows:
. Less limitations for shaders (more loops, etc)
. Less limitations for ff (more enabled lights, 255
matrices for VertexBlend)
In particular shaders can get more constants.
This patch implements support for this (not using software
rendering, but hardware rendering, as llvmpipe and dx10+ hw
have the same limits...)
This is considered a second class path. Even apps asking for
"Mixed Vertex processing" (ie the ability to switch to swvp
on demand) do not use the feature much. Some just initialize
more constants than the normal limit at the start of the
application, but never use more than the normal limit.
When the apps do not need the software vertex processing
features, they do not seem to turn it on. This means it is
ok if that path is slow.
Thus no care has been made to make the path optimized.
Signed-off-by: Axel Davy <axel.davy@ens.fr>
|
|
|
|
|
|
| |
This will help to support swvp constants.
Signed-off-by: Axel Davy <axel.davy@ens.fr>
|
|
|
|
|
|
|
| |
This change makes easier to introduce tracking for
swvp constants.
Signed-off-by: Axel Davy <axel.davy@ens.fr>
|
|
|
|
|
|
|
|
|
| |
This path has been disabled for some time because
of some bugs with it. It hasn't been updated to the
new features, and is not faster.
Signed-off-by: Axel Davy <axel.davy@ens.fr>
Reviewed-by: Patrick Rudolph <siro@das-labor.org>
|
|
|
|
|
|
|
| |
swvp has relaxed limits (more nested loops, etc).
In particular it enables more constants.
Signed-off-by: Axel Davy <axel.davy@ens.fr>
|
|
|
|
|
|
|
|
|
|
| |
In mixed vertex processing, the user can enable or disable
software vertex processing. It is on hardware by default.
This feature is not a state, and thus the setting doesn't
need to be recorded by stateblocks.
Signed-off-by: Axel Davy <axel.davy@ens.fr>
|
|
|
|
| |
Signed-off-by: Axel Davy <axel.davy@ens.fr>
|
|
|
|
|
|
|
|
| |
Buffers with this flag must be usable with both software
and hardware vertex processing. Use Staging for fast cpu access.
Signed-off-by: Axel Davy <axel.davy@ens.fr>
Reviewed-by: Patrick Rudolph <siro@das-labor.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ATIx are "unknown" formats that do not follow block format conventions.
Tests showed that pitch*height bytes are allocated.
apitrace used to depend on this behaviour.
It used to copy more bytes than it has to for the ATI1 block format,
but it didn't crash on Windows.
Increase buffersize for ATI1 to fix this crash.
The same issue was present in WINE but a patch has been sent by me.
Signed-off-by: Patrick Rudolph <siro@das-labor.org>
Reviewed-by: Axel Davy <axel.davy@ens.fr>
|
|
|
|
|
|
|
| |
Add missing break instruction.
Signed-off-by: Patrick Rudolph <siro@das-labor.org>
Reviewed-by: Axel Davy <axel.davy@ens.fr>
|
|
|
|
|
|
|
|
|
| |
To implement the feature we copy the ps inputs to a temp array.
This is not optimal for performance, but it is the simplest solution.
This is a feature that is very very rarely used.
Signed-off-by: Axel Davy <axel.davy@ens.fr>
|
|
|
|
|
|
| |
Fixes crash after Reset() when using thread_submit=true
Signed-off-by: Axel Davy <axel.davy@ens.fr>
|
|
|
|
| |
Signed-off-by: Axel Davy <axel.davy@ens.fr>
|
|
|
|
|
| |
Signed-off-by: Patrick Rudolph <siro@das-labor.org>
Reviewed-by: Axel Davy <axel.davy@ens.fr>
|
|
|
|
|
|
| |
d3d9 doesn't have seamless cubemap.
Signed-off-by: Axel Davy <axel.davy@ens.fr>
|
|
|
|
|
|
|
| |
Uses the new defines introduced in previous commit.
See comment in the commit for more explanation.
Signed-off-by: Axel Davy <axel.davy@ens.fr>
|
|
|
|
|
|
| |
The new defines will be reused in a later patch.
Signed-off-by: Axel Davy <axel.davy@ens.fr>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes regression introduced by
ecd6fce2611e88ff8468a354cff8eda39f260a31
and is more future proof than just clearing the next
field.
Other nine usages did already zero out the templates.
Signed-off-by: Axel Davy <axel.davy@ens.fr>
Acked-by: Edward O'Callaghan <funfunctor@folklore1984.net>
|
|
|
|
|
|
|
|
|
|
| |
Similar to the other 'tests', enable assertions in xvmc_bench.
This silences the GCC warnings about unused-variable(s), makes the
program actually useful, as the XvMC API called. Atm the function
calls are omitted, since they're called within the assert.
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
|
|
|
|
|
|
|
|
|
| |
Specified by subclause 7.3.4
v2: get the loop optimized
Signed-off-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
|
|
|
|
|
|
|
|
|
|
| |
For reference picture sets, there are cases that rps will not always
be used. Once detect the unused flag from encoded bitstream, we should
not add this rps to any list, otherwise pass the incorrect reference
and skip the correct rps.
Signed-off-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
|