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.
|
|
|
|
|