Age | Commit message (Collapse) | Author |
|
The translate_prim() function tries to convert quad strips into
tri strips. This is normally OK but we have to check for an odd
number of vertices so that we don't accidentally draw an extra
triangle. The mesa-demos/src/samples/prim.c demo exercises that.
With this fix the stray yellow triangle is no longer drawn.
Use the u_trim_pipe_prim() function to make sure that prims have
the right number of vertices and avoid calling gallium drawing
functions when the prim has a degenerate number of vertices.
Plus add comments, clean-up formatting, etc.
NOTE: This is a candidate for the 7.8 branch.
|
|
|
|
first working version of arb_geometry_shader4
|
|
just like in Gallium it's a basic functionality needed by a lot
of modern graphcis extensions
|
|
|
|
|
|
This change makes gallium behave like other GL implementations and fixes
a conformance failure.
|
|
|
|
geometry shaders emit/end functions don't take any arguments
|
|
Add st_gl_api_create_es1 and st_gl_api_create_es2 to create OpeGL ES 1.1
and OpenGL ES 2.0 contexts respectively.
|
|
The callback is used by st/vega to check if a visual specifies the
depth/stencil format. It forces st/vega to be loaded by st/egl to
perform the check. As noted in EGL spec, the depth/stencil format of a
visual should not affect OpenVG. It should be better to ignore the
field and always allocate the depth/stencil texture.
|
|
laying down the foundation for everything and implementing most of the
stuff.
linking, gl_VerticesIn and multidimensional inputs are left.
|
|
|
|
1. Move all GL entrypoint functions and files into src/mesa/main/
This includes the ARB vp/vp, NV vp/fp, ATI fragshader and GLSL bits
that were in src/mesa/shader/
2. Move src/mesa/shader/slang/ to src/mesa/slang/ to reduce the tree depth
3. Rename src/mesa/shader/ to src/mesa/program/ since all the
remaining files are concerned with GPU programs.
4. Misc code refactoring. In particular, I got rid of most of the
GLSL-related ctx->Driver hook functions. None of the drivers used
them.
Conflicts:
src/mesa/drivers/dri/i965/brw_context.c
|
|
width/height may not be a multiple of blocksize (small mip levels / npot
textures). This should be handled just fine.
Fixes #28530.
|
|
|
|
Remove the unneeded ctx->Driver hooks for shader-related functions.
Move state and API-related things into main/.
|
|
Okay I think this is good enough for now, I can't see any other reason
for mesa to want to use a sampler view so lets just leave it at all the A->X conversions for now.
I've been running gnome-shell under r300g with this for day or so and it seems fine.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
There is nothing driver-specific about this one.
I've also tested it just to be sure.
|
|
This extension is implemented in the texenv program.
Gallium drivers pass patched glean/texCombine.
(I am going to send the patch soon)
Catalyst9.3 advertises this extension too so I don't see a reason we shouldn't.
|
|
|
|
This passes on r300g, the only bit I'm not really sure about is the handling
of the sampler_view in st_atom_texture.c, I unreference it there if the swizzle
value changes and I also have to create a new set of functions to create a new
one since the u_sampler.c ones don't handle swizzle so much.
adds r300g + softpipe enables, I think other drivers could pass easily enough.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
Conflicts:
src/gallium/state_trackers/python/p_context.i
|
|
|
|
This fixes an issue that was missed with commit
9f544394c1d059ce09c8bb2b5e11f5e871c7915f.
Fixes piglit glsl-texcoord-array.shader_test
|
|
|
|
Both softpipe and llvmpipe pass the piglit half float test.
|
|
|
|
|
|
|
|
|
|
Conflicts:
src/mesa/state_tracker/st_gen_mipmap.c
src/mesa/state_tracker/st_texture.c
|
|
|
|
|
|
adapt to blit changes, and also handle a bit more msaa state in theory
(incomplete, doesn't handle resolves in any way for now).
|
|
The linux-debug target builds...
|
|
|
|
|
|
This removes references to symbols in draw module for OpenGL ES build.
As OpenGL ES does not support feedback/selection mode, draw module is
used in pathes that will never be reached. However, if the symbols are
referenced, it will bloat the final shared libraries unnecessarily.
This is serious when LLVM is enabled.
|
|
This change allows st_cb_drawtex.h to be used without knowing if
FEATURE_OES_draw_texture is enabled.
|
|
This change allows st_cb_blit.h to be used without knowing if
FEATURE_EXT_framebuffer_blit is enabled.
|
|
This change allows st_cb_queryobj.h to be used without knowing if
FEATURE_queryobj is enabled.
|
|
Make st_cb_feedback.h FEATURE_feedback aware and st_cb_rastpos.h
FEATURE_rastpos aware. Move creation of selection/feedback draw context
to st_init_draw.
|
|
This change allows st_cb_{bitmap,drawpixels}.h to be used without
knowing if FEATURE_drawpix is enabled.
|
|
This change allows st_cb_accum.h to be used without knowing if
FEATURE_accum is enabled.
|
|
This allows transformfeedback.h and st_cb_xformfb.h to be included and
used without knowing if FEATURE_EXT_transform_feedback is enabled. Fix
build of ES overlay.
|
|
|
|
This fixes crashes with the memory debugging routines on Windows.
NOTE: This is a candidate for the 7.8 stable branch
|
|
|
|
Now that transfers are context operations it is the driver's
responsibility to ensure that transfers happen in order with all other
context operations, so flushes and finishes inside Mesa should be no
longer necessary. The attached patch implements that.
This should proportionate significant improvements for hardware drivers
which are able to stream transfers in the command buffers.
You can use the softpipe/llvmpipe_flush_resource() as reference
implementation of the worst case scenario, where the driver is not able
to streamline transfers. But the expectation is that driver
implementators will want to avoid flushing as much as possible.
|