Age | Commit message (Collapse) | Author |
|
|
|
Honor the (x, y) and (width, height) pairs.
|
|
Consider this rendering sequence
* render to the back buffer
* swap buffers
* read from the front buffer
The front buffer is expected to have the contents of the back buffer.
|
|
Create a per-display pipe_context as needed to copy the contents between
framebuffer attachments. This allows us to support
GLX_MESA_copy_sub_buffer.
|
|
This basically adds a static xmesa_display to collect per-display static
variables in xm_api.c. Multiple display support is still missing, but
this is a step forward.
|
|
FBOs are created by st_new_framebuffer and cannot be casted to
st_framebuffer.
|
|
The front renderbuffer of a framebuffer is usually added as needed when
glReadBuffer(GL_FRONT) is called. When the call is followed by
glReadPixels, we should validate the state before reading from the
renderbuffer.
|
|
When xmesa_st_framebuffer_validate was called twice with different sets
of attachments, the second call was ignored. Add a texture_mask to
remember which textures have been requested to make sure the missing
ones get created.
|
|
Stupid typos again..
|
|
There are two conditions that a validation is required. One is when the
the framebuffer becomes invalid. The other is when we request for
textures that we did not request before.
|
|
Instead of guessing the API in st/glx, let the target decide how to
create st_api.
|
|
Use a (real) pipe context to copy between pipe surfaces. Fix a NULL
dereference of the temporary native surface created for copying.
|
|
The textures and surface of a framebuffer should be unreferenced when
the framebuffer is destroyed.
|
|
|
|
The format might have depth bits, stencil bits, or both. Add the
renderbuffers as needed.
|
|
Return a better format instead of an exact format in
choose_depth_stencil_format. Also, prefer formats with stencil bits.
|
|
It was a stupid typo by me when I refactored the code.
|
|
|
|
Switch from st_public.h to st_api.h. The latter has intrinsic multiple
APIs support and allows various EGLImage extensions to be supported.
|
|
This is done by defining one of st_module_OpenGL_ES1,
st_module_OpenGL_ES2, and st_module_OpenGL.
|
|
There is currently no user of this new interface. As the inteface can
coexist with st_public.h, everthing should work as before.
ST_TEXTURE_2D is both defined by st_public.h and st_api.h. Reorder the
headers in st/dri to avoid conflicts.
|
|
There is currently no user of this new interface. As the inteface can
coexist with st_public.h, everthing should work as before.
|
|
This is a new interface to be implemented by st/mesa, st/vesa, and the
window system APIs such as EGL or GLX.
|
|
|
|
|
|
The code can fairly easily be translated to llvm...
|
|
|
|
|
|
The stride depends on the mipmap level. Rename to row_stride to
distinguish from img_stride for 3D textures.
Fixes incorrect texel addressing in small mipmap levels.
|
|
|
|
|
|
|
|
swizzle in the pixel shader
|
|
|
|
don't enable APPLE_client_storage, TDFX_texture_compression_FXT1,
EXT_cull_vertex, NV_vertex_program, NV_vertex_program1_1 -
the latter two might work somewhat with some luck.
Also don't enable ARB_imaging.
|
|
|
|
|
|
|
|
|
|
We could use single 1 bit conditions for scalar masks, but a lot of code
expects masks. The compiler easily optimzes away masks
extensions/truncations so consistency is preferable.
We can revisit this when LLVM backends have more support for vector
conditions.
|
|
|
|
Without the validation, the function might draw with outdated textures.
|
|
st_DrawTex calls util_draw_vertex_buffer. Since
ac4abaecd5f52e416c89bfe19b34ed7f4e014b21, the caller is expected to set
vertex elements before calling.
|
|
|
|
Extensions were enabled in both st/mesa and st/dri, with st/dri completely
overriding the decisions of st/mesa and exposing even the extensions claimed
to be unsupported by a pipe driver.
This commit moves the differences between the two to st/mesa and removes
the responsibilty of advertising extensions from st/dri.
|
|
|
|
Memory for xm_dt was allocated twice.
|
|
|
|
The new lp_build_sample_general() function will handle all sampling
modes for all texture types. Still incomplete, but a few additional
sampling modes are now supported.
1D textures should work and most of the code for 3D textures is in place.
No support for cube maps yet. No support for different min/mag filters.
|
|
|