Age | Commit message (Collapse) | Author |
|
The existing code used RNDD, which rounds down, rather than toward zero.
|
|
|
|
|
|
Fixes piglit test glsl-fs-ceil.
|
|
This cuts usually 2 out of 3 instructions for flag reg generation (if
statements, conditional assignment) by producing the conditional mod
in the expression representing the boolean value.
Fixes glsl-fs-vec4-indexing-temp-dst-in-nested-loop-combined (register
allocation no longer fails for the conditional generation
proliferation)
|
|
This will be a place to peephole comparisions directly to the flag
regs, and for now avoids using MOV with conditional mod on gen6, which
is now illegal.
|
|
GLES1 and GLES2 install their own exec pointers and don't need the
Save table. Also, the SET_* macros use different indices for the different
APIs so the offsets used in vtxfmt.c are actually wrong for the ES APIs.
|
|
Improves nexuiz performance 0.91% (+/- 0.54%, n=8)
|
|
|
|
So far, I've only seen this be a valgrind warning and not a real failure.
|
|
|
|
Just always check for FLUSH_UPDATE_CURRENT and call Driver.BeginVertices
when necessary. By using the unlikely() macros, this ends up as
a 10% performance improvement (for isosurf, anyway) over the old,
complicated function pointer swapping.
|
|
i915g would dereference the NULL pointer.
|
|
Drop the use of SET_CONFIG_ATTRIB. Fix the value of EGL_SAMPLE_BUFFERS
along the way.
|
|
Replace SET_CONFIG_ATTRIB/GET_CONFIG_ATTRIB by direct dereferences.
|
|
This makes _EGLConfig more accessible and scales better when new
attributes are added.
|
|
|
|
|
|
|
|
TGSI tells us when to use this, its not hooked up from GLSL to MESA to TGSI yet though.
|
|
This reverts commit 73dab75b4165f7d2214a68d4ba8e3cb7aab9b4ac.
|
|
Don't use r0 for FF_SYNC dest reg on Sandybridge, which would
smash FFID field in GS payload, that cause later URB write fail.
Also not use r0 in any URB write requiring allocate.
|
|
|
|
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
|
|
|
|
|
|
Actually validate that the implementation supports the particular
shader target as well. Previously if a driver only supported vertex
shaders, for example, glCreateShaderObjectARB would gladly create a
fragment shader.
NOTE: this is a candidate for the 7.9 branch.
|
|
|
|
This really amounts to just using the return value from
link_function_calls. All the work was being done, but the result was
being ignored.
Fixes piglit test link-unresolved-funciton.
NOTE: this is a candidate for the 7.9 branch.
|
|
Completely initialize data passed to ir_constant constructor.
Fixes piglit glsl-mat-from-int-ctor-03 valgrind uninitialized value
error on softpipe.
|
|
Together with the previous commit, this generalize the benefits of
d2cf757f44f4ee5554243f3279483a25886d9927 to all depth formats, in
particular:
- simpler float -> 24unorm conversion
- avoid unsigned comparisons (not directly supported on SSE) by aligning
to the least significant bit
- avoid unecessary/repeated mask ANDing
Verified with trivial/tri-z that the exact same assembly is produced for
X8Z24.
|
|
|
|
The bug only happens on the AOS / fixed-pt path.
|
|
|
|
|
|
Z32_FLOAT uses <4 x float> as intermediate/destination type,
instead of <4 x i32>.
The necessary bitcasts got removed with commit
5b7eb868fde98388d80601d8dea39e679828f42f
Also use depth/stencil type and build contexts consistently, and
make the depth pointer argument a ordinary <i8 *>, to catch this
sort of issues in the future (and also to pave way for Z16 and
Z32_FLOAT_S8_X24 support).
|
|
|
|
|
|
|
|
|
|
__GLcontextModes is always only used as an implementation internal struct
at this point and we shouldn't install glcore.h anymore. Anything that
needs __GLcontextModes should just include the struct in its headers files
directly.
|
|
This is relying on lp_build_pack2 using the sse2 pack intrinsics which
handle clamping.
(Alternatively could have make it use lp_build_packs2 but it might
not even produce more efficient code than not using the fastpath
in the first place.)
|
|
|
|
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
|
|
|
|
at the moment depth copies are failing (piglit depth-level-clamp)
so use the fallback for now until get some time to investigate.
|
|
this changes size on 32/64 bit so is definitely no what you want to use here.
|
|
fixes segfaults
|