| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
The motivation is so that drivers do not need to look up and check for
bad display, context, and etc. It also becomes unnecessary for drivers
to call the link functions.
This commit makes eglapi.[ch] do the lookup and check. As a result, the
driver API is overhauled, and almost all sources and drivers need
update. The updates are mainly find and replace with human brains.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
|
|
|
|
| |
This fixes invalid values for CondStackTop, LoopStackTop, etc.
|
| |
|
|
|
|
|
| |
- This fixes neverball corruption.
- I'm unsure about what we're actually flushing here.
|
| |
|
| |
|
|
|
|
| |
The value is an enum, not a bitmask.
|
|
|
|
|
|
|
| |
It's the front stencil methods that have contiguous offsets,
not the back ones.
Unfortunately the names in the header still have FRONT/BACK
reversed, so I'm using hex values until it gets updated.
|
|
|
|
| |
- We cannot assume all state objects are present when the pipe context changes.
|
|
|
|
|
|
|
|
| |
The TEX instruction is passed the first index of a contiguous
range of 4 TEMP registers that contain coordinates / LOD and,
after execution, the texel values.
It seems the first index is required to be a multiple of 4 on
some (older ?) cards.
|
|
|
|
|
|
|
|
|
|
| |
Now there is just a single, struct __GLXcontextRec, which is the
GLXContext typedef has already been defined as a pointer to. I
believe this is the intended usage, that GLX implementations should
define that struct as they require.
Merge the two previous structs into one and get rid of the
no-longer-necessary type casts and sub-classing.
|
| |
|
|
|
|
|
|
| |
The hardware expects a texture's tile mode to change with
the mipmap level.
Also, only multiply by block size once to obtain size.
|
|
|
|
|
| |
Since we don't turn off scissors, we need to update the
stateobj when the framebuffer size changes.
|
|
|
|
|
| |
Now that we know how to make the hardware have y-coordinate origin
top, we can get rid of all the inversion introduced earlier.
|
|
|
|
| |
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Use GC CopyArea op for proper translation and clipping, and throttle full
buffer swaps / frontbuffer flushes.
|
| |
|
|
|
|
| |
Also fix a typo in ureg_src().
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
This previously was used only for decomposed (POINT/LINE/TRI) primitives,
but for some time a full range of primitives could end up in here.
Fixes trivial/lineloop-clip on softpipe, among others.
(cherry picked from commit 87cd8a3b8a2407b30916be418ff2f95dfea5d2ad)
|
| |
| |
| |
| | |
Check that the dest surface/format is renderable.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
Our fallback realloc path requires an old_size argument, but the posix
varient doesn't need this. Add some code to avoid gcc unused variable
warnings for this extra argument.
|
| | |
|
| |
| |
| |
| | |
Much nicer now.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is modelled on the nice & easy-to-use facilities we had
for building shaders in mesa, eg. in texenvprogram.c and friends.
Key points include pass-by-value register structs that can be manipulated
in a functional style, eg:
negate(swizzle(reg, X,X,X,X))
and per-opcode instruction functions, eg:
emit_MOV( p, writemask(dst, 0x1), negate(src));
and similar.
Additionally, the interface allows mixed emit of instructions and decls,
which are sorted out internally to obey TGSI ordering.
Immediates may be emitted at any time and are scanned against existing
immediates to try and reduce redundancy.
Not all TGSI functionality is accessible through this interface, but
most or all of what mesa uses should be.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
This branch introduces new FRAG_ATTRIB_FACE and FRAG_ATTRIB_PNTC fragment
program inputs for GLSL gl_FrontFacing and gl_PointCoord. Before, these
attributes were packed with the FOG attribute. That made things
complicated elsewhere.
|
| | |
| | |
| | |
| | | |
progs/glsl/pointcoord.c works again
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The old GLX dispatch table stuff isn't needed (same story for the Mesa/Xlib
driver). The intention of that code was being able to switch on the fly
between the real GLX library and the fake/Xlib-based emulation. That hasn't
been used in a long time.
Next up: some file renaming.
|
| | | |
|
| | | |
|
| | | |
|