Age | Commit message (Collapse) | Author |
|
|
|
This is actually better than a real implementation, which would be useless
due to inaccuracy (I know because I've tried to implement it).
|
|
|
|
|
|
|
|
|
|
|
|
This reduces redundant code by moving:
- CS space reservation
- buffer validation
- dirty state emission
- index bias emission
- AOS emission
into r300_prepare_for_rendering.
|
|
A quick hack to get the right results, as there are many DCT tests
which use these opcodes to generate data to test other opcodes.
|
|
The cont_mask must be restored and exec mask recomputed in order to decide
whether to repeat the loop or not.
Unlike the continue mask, the break_mask must be preserved across loop
iterations.
Fixes several VShader DCT cases, and no regressions with glean.
|
|
|
|
|
|
|
|
|
|
|
|
Mainly for the recent work on mapi and gles. The latter adds some
sources to src/mesa/main that are generated on the fly. This makes
python a requirement for building Mesa. An alternative is to package
those sources into the tarballs. That may be done in another commit.
|
|
|
|
Update to reflect recent gles and mapi works.
|
|
There are enough EGL modules that they deserve a subdirectory, to avoid
polluting $(TOP)/$(LIB_DIR).
|
|
The new target installs client API modules to EGL_DRIVER_INSTALL_DIR.
They are used by st/egl.
The client APIs are built from OpenGL and OpenVG state trackers. For
this to work, st/vega is modified to produce a static library,
libvega.a, instead. st/es is also not needed any more. It is removed
and --with-state-trackers=es is replaced by --enable-gles-overlay.
As st/egl now has its own client API modules, this solves the ABI issue
between st/egl and client APIs, as long as the client API modules are
distributed with st/egl. Plus, this allows st/egl to support OpenGL
with non-Gallium libGL.so.
|
|
Move the install rules for OpenGL ES from src/mesa/Makefile to mapi.
|
|
|
|
Unlike the one produced by st/vega, this is a dispatch-only library.
|
|
Remove src/gles and have mapi/{es1api,es2api} build libGLESv1_CM.so and
libGLESv2.so.
|
|
Define <API>_LIB, <API>_LIB_NAME, <API>_LIB_GLOB, and some other
variables in the configs. Fix a typo in glesv1_cm.pc.in where an
inexistent variable is used.
|
|
dlopen api_<API>.so before dlopening the process itself in case the
client APIs are implemented in external modules.
|
|
The function can be used by a driver to check each search path of EGL.
|
|
|
|
Once upon a time some drivers hooked into these for GL_HP_occlusion_test
and GL_OES_read_format. They're not being used anymore so get rid of them.
|
|
And lookup the GLX screen for the context. Otherwise we'll end up
jumping through a NULL-pointer once we try to look up the visual
or config for the shared context.
https://bugs.freedesktop.org/show_bug.cgi?id=14245
|
|
fpclassify is provided by math.h
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Signed-off-by: Brian Paul <brianp@vmware.com>
|
|
Part of a fix for piglit trinity-fp1 test failure.
|
|
This was missed in commit 296adbd545b8efd38c9ed508166b2de2764a444b.
Fixes darwin build.
|
|
|
|
|
|
|
|
|
|
|
|
Rename vgFooBar to vegaFooBar and use vgapi as the dispatcher. This
makes sure there is always a current context when the internal functions
are called. And eglGetProcAddress is finally supported.
|
|
vgapi is a dispatcher for OpenVG.
|
|
The idea is to have an API generate a header using mapi_abi.py. The API
can then use the header to build a dispatcher.
|
|
Specifically, move all or most of
glapi/glapi.c to mapi/u_current.c,
glapi/glapi_execmem.c to mapi/u_execmem.c,
glapi/glthread.[ch] to mapi/u_thread.[ch]
and remove their dependencies on core Mesa headers.
|
|
Move glapi to src/mapi/{glapi,es1api,es2api}.
|
|
|
|
Note that this also requires X86 for llvm, if llvmpipe/draw_llvm works
on PPC then the condition should be extended to include && x86.
Signed-off-by: Török Edwin <edwintorok@gmail.com>
Signed-off-by: José Fonseca <jfonseca@vmware.com>
|
|
If a shader was bound to the fragment shader TGSI executor and it was
then deleted and a new shader was allocated at the same address as the
old shader, the new fragment shader would not get properly bound to
the TGSI machine and we'd wind up using the old one.
This would not have been a problem if shaders were refcounted.
Now the TGSI machine is owned by the context rather than the quad
pipeline's shader stage so that the softpipe_delete_fs_state()
function can access it.
Fixes sporadic failures of the piglit fp-long-alu test (fd.o bug 27989).
|
|
To properly execute an instruction such as "ADD tmp, tmp.wzyx, foo;"
with SOA we (sometimes) need to put the results into temporaries before
writing the results to the destination register.
This patch fixes the ADD instruction but this needs to be done for
many more instructions.
Helps to fix piglit fp-long-alu test (fd.o bug 27989).
|
|
|
|
|
|
This lets us unbind a shader from the tgsi_exec_machine. Since
shaders aren't ref counted we need this to properly clean up when
deleting shaders elsewhere.
|