Age | Commit message (Collapse) | Author |
|
Fixes: glsl-mat-from-int-ctor-03
|
|
It considered .xyyy a noop for vec4 instead of .xyzw, and similar for vec3.
|
|
It turns out that most people new to this IR are surprised when an
assignment to (say) 3 components on the LHS takes 4 components on the
RHS. It also makes for quite strange IR output:
(assign (constant bool (1)) (x) (var_ref color) (swiz x (var_ref v) ))
(assign (constant bool (1)) (y) (var_ref color) (swiz yy (var_ref v) ))
(assign (constant bool (1)) (z) (var_ref color) (swiz zzz (var_ref v) ))
But even worse, even we get it wrong, as shown by this line of our
current step(float, vec4):
(assign (constant bool (1)) (w)
(var_ref t)
(expression float b2f (expression bool >=
(swiz w (var_ref x))(var_ref edge))))
where we try to assign a float to the writemasked-out x channel and
don't supply anything for the actual w channel we're writing. Drivers
right now just get lucky since ir_to_mesa spams the float value across
all the source channels of a vec4.
Instead, the RHS will now have a number of components equal to the
number of components actually being written. Hopefully this confuses
everyone less, and it also makes codegen for a scalar target simpler.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
|
|
|
|
|
|
|
|
This one should be powerful enough to hook up Wine.
|
|
|
|
|
|
We can't expect to have a context when this is called, and we don't need one
so just require a __DRIscreen instead.
Reported by Yu Dai <yu.dai@intel.com>
|
|
When calling query begin using same query id we need to discard
previous query results.
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
|
|
Shader rebuild should be more clever, we should store along each
shader all the value that change shader program rather than using
flags in context (ie change sequence like : change vs buffer, draw,
change vs buffer, switch shader will trigger useless shader rebuild).
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
|
|
Normally the Mesa state tracker uses TXP instructions for texturing.
But if a fragment shader uses texture2D() that's a TEX instruction.
In that case we were incorrectly computing the texcoord coefficients
in the point sprite setup code. Some new comments in the code explain
things.
|
|
|
|
Fix commit e7087175f8a04f777403366fb34b58edd00f4d60. Move the reference to
GL_VERSION_2_1_functions to intel_extensions.c where it's available,
don't try to enable a non-existing extension and advertise 1.20 for all
intel chipsets, not just GEN4 and up.
|
|
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
|
|
Makes AoS blending easier, and state more canonical.
|
|
One multiplication instead of two.
Also fix floating point random number generation and verification.
TODO: Do the same for AoS blending.
|
|
Unfortunately this can cause segfault with LLVM 2.6, if x is a constant.
|
|
|
|
|
|
|
|
|
|
Otherwise, -m32 doesn't make it there.
|
|
|
|
progs requires winsys, which hasn't yet been built by the time we
go into state_trackers.
It may be a good idea to also move it into tests.
After a normal build, run make in src/gallium/state_trackers/d3d1x/progs
to build them.
|
|
A cleaner solution would be preferable, but this does no harm and works.
|
|
The Gallium EGL state tracker reuses dri2.c but not the GLX code.
Currently there is a bit of code in dri2.c that is incorrectly tied
to GLX: instead, make it call an helper that both GLX and Gallium EGL
implement, like dri2InvalidateBuffers.
This avoids a link error complaining that dri2GetGlxDrawableFromXDrawableId
is undefined.
Note that we might want to move the whole event translation elsewhere,
and probably stop using non-XCB DRI2 altogether, but this seems to be
the minimal fix.
|
|
Now Gallium has the proper fix, thanks to Brian Paul.
|
|
This may just be hiding some other bug though, since the types are supposed
to be the same (and it compiles for me).
Anyway, this interface will likely need to changed, since it seems Wine needs
a more powerful one capable of expressing window subregions and called at
every Present.
|
|
nothing was every dirtying the object again, the mesa-demos
reflect test was just stalling.
this fixes glean readPixSanity.
|
|
need to write two components to get stencil components as well
|
|
add cb/db flush states to the blit code.
add support for the rv6xx that need special treatment.
according to R6xx_7xx_3D.pdf
set r700 CB_SHADER_CONTROL reg in blit code
docs say dual export should be disabled for DB->CB
|
|
|
|
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
|
|
Instead of using the invalid GL_ARB_shading_language_120 extension to
determine the GLSL version, use a new ctx->Const.GLSLVersion field.
Updated the intel and r600 drivers, but untested.
See fd.o bug 29910
NOTE: This is a candidate for the 7.9 branch (but let's wait and see if
there's any regressions).
|
|
Fixes this GCC warning on MinGW build.
glut_input.c:295: warning: 'eventParser' defined but not used
|
|
Fixes this GCC warning on MinGW build.
glut_event.c:255: warning: 'markWindowHidden' defined but not used
|
|
Part of the fix for running softpipe w/ LLVM-enabled draw module.
|
|
The old code didn't really make sense. We only need to compare the
X channel of the texture (depth) against the texcoord.
For (bi)linear sampling we should move the calls to this function
and compute the final result as (s1+s2+s3+s4) * 0.25. Someday.
This fixes the glean glsl1 shadow2D() tests. See fd.o bug 29307.
|
|
Some versions of dot apparently lack pdf output.
|
|
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
|
|
|
|
|
|
GCC 4.5 is fine without them, but GCC 4.4 requires them.
Should fully fix the build on GCC 4.4
|
|
There was some libstdc++-specific code that would only build with GCC 4.5
Now it should be much more compatible, at the price of reimplementing
the generic hash function.
|
|
Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
|
|
Looks like the problem was we weren't passing the depth to the render
target as expected, so the chip would wedge. Fixes GPU hang in
occlusion-query-discard.
Bug #30097
|
|
This is required by the spec, so respect that.
|
|
|