Age | Commit message (Collapse) | Author |
|
Check that the dest surface/format is renderable.
|
|
|
|
|
|
|
|
|
|
A comment alluded to this. Now it's checked.
|
|
For the surface_copy() path require same format, no flipping and no stretching.
Fixes progs/tests/copypixrate -blit
|
|
|
|
The leading underscore is meaningful... This function is used by
_warning and _error functions as well as the more common
debug_printf().
debug_printf (without underscore) gets turned off when DEBUG is
disabled, but warning/error messages still use this function to get
their message out.
(cherry picked from commit 0ac879dca797360570543d5bd0fd64f8fb8e566e)
|
|
|
|
|
|
Same story as in the tgsi_dump.c code (see prev commit).
|
|
Fixes TGSI dump output when front/back-face register is declared.
Also, add some assertions to make sure the semantic/interpolate string
arrays have as many elements as there are tokens in the p_shader_tokens.h
file. That should catch problems like this in the future.
|
|
Includes the TGSI interpreter, but not the SSE/PPC/etc code generators.
|
|
Also fix one case where a 32 bit depth value was incorrectly converted to a
combined depth/stencil value.
|
|
According to http://unixwiz.net/techtips/outputdebugstring.html that's
how big the buffer is.
The 512bytes limitation is in kernel mode.
|
|
buffer_flush_mapped_range.
|
|
We were failing to deal with:
- vsnprintf returns negative value on error.
- vsnprintf returns the number of chars that *would* have been
written on truncation.
|
|
Theoretical bugfix only - no known case where this might happen.
|
|
It is expected to loose precision here.
|
|
Using uintptr_t as intermediate type for pointer -> integer conversions is
easier to understand and does not cause any size mismatch warnings.
uintptr_t is part of C99, and we already provide a suitable replacement
definition for all platforms we care about.
|
|
Avoids warnings on 64bit builds.
Use regular unsigned since that's what gallium expects, but use a
typedef to facilitate possible changes in the future.
|
|
As we're only using 32bit bitmasks.
|
|
|
|
|
|
|
|
|
|
|
|
When approaching y = x * 0xffffffff / 0xffffff with bit arithmetic, the
8 least significant bits of y should come from the
8 most significant bits of x.
|
|
The pstipple, aaline and aapoint code would create specialized versions
of shaders and upload them to the driver -- but never free them.
|
|
The AA line and point code also needs to free token arrays after
building driver shaders.
|
|
Add missing FREE() after MALLOC().
|
|
Fixes a crash when clearing the window with a quad after drawing large
points. We were asking the draw module how many vertex shader outputs
there were and got 3 instead of 2. This led to creating vertices with
too many attributes and trying to read invalid memory.
We reset extra_vp_outputs.slot to zero in the aaline/aapoint stage's
flush functions already.
This omission was just an oversight in the wide_point stage.
|
|
Caller may be able to do something about this - eg flush and retry.
|
|
|
|
Add a dummy function which exists only so that tgsi_text_translate()
doesn't get magic-ed out of the libtgsi.a archive by the build system.
Don't remove unless you know this has been fixed - check on
mingw/scons builds as well.
|
|
|
|
|
|
|
|
We need to use (s,t,r) cubemap coords when sampling from the cubemap texture
so the rendered quad gets texture samples from the correct cube face.
|
|
The TGSI interpeter operates in SOA style. We need to check for data
dependencies in instructions which read from and write to the same register.
For now just adding some debug code to detect that condition. Actual fixes
to follow.
|
|
|
|
|
|
|
|
Somebody with a clue could probably do a better implemenation...
|
|
|
|
Fall back to interpreter in this case.
|
|
This can be almost impossible to avoid - hopefully we won't encounter
a situation where this is a true requirement. Would probably require
drivers to flush between hardware and software vertex processing.
|
|
|
|
|