| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Seeing very weird crashes during std::cout initialization.
The fault probably lies in the way I build LLVM on MSVC, but disable for
now to allow more time to investigate.
|
|
|
|
| |
So taking the function address does not work.
|
| |
|
|
|
|
|
|
|
| |
In particular, don't use the clamped lod to compute level + 1, or
lod in [-1, 0] range will actually interpolate with level 1.
This makes Mipfilter DCT pass 100%.
|
|
|
|
|
|
| |
Also start axing the code duplication for scalar case. The olution is to
treat the scalar case specially in a few innermost functions, and leave
outer functions untouched.
|
|
|
|
|
|
| |
It's quite a pain to remember the details after a while, and it is quite
likely we'll want to use this again, either for different polynomial
orders or different functions, so commit it here.
|
|
|
|
|
|
|
|
|
|
| |
The advantage of range[-0.5, 0.5] is that it doesn't require floor (for
which intrinsics are only available in SSE4.1).
But the EXP opcode pretty much forces us to use floor, and there is a
good floor approximation around truncation available anyway.
This fixes EXP failures in VShader DCT.
|
| |
|
| |
|
| |
|
|
|
|
| |
This basically reverts commit 74f94e8fdfe035fa68acdc19e6b0afc2957a4264.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
dlopen api_<API>.so before dlopening the process itself in case the
client APIs are implemented in external modules.
|
| |
|
|
|
|
| |
Part of a fix for piglit trinity-fp1 test failure.
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
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 <[email protected]>
Signed-off-by: José Fonseca <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
Avoids crashing when fence is NULL (LP_NUM_THREADS=0) and leaking when
it is not.
|