Compare commits
172 Commits
mesa-10.6.
...
mesa-10.4.
Author | SHA1 | Date | |
---|---|---|---|
|
62eb27ac8b | ||
|
a824179af5 | ||
|
fecedb6c43 | ||
|
9d1d1f46c7 | ||
|
b51d369690 | ||
|
eab8dc28ed | ||
|
cc580045a8 | ||
|
0d721fa1d6 | ||
|
c96ed76b3d | ||
|
49a5bce780 | ||
|
e92bfa3f95 | ||
|
f70e4d4afd | ||
|
42806f12a9 | ||
|
4c9b64fc44 | ||
|
69c7cf70e7 | ||
|
4d04fd0871 | ||
|
0727ab961c | ||
|
7280ddea9d | ||
|
425bc89720 | ||
|
0b3f8c72f7 | ||
|
63e668eb18 | ||
|
2b4c577730 | ||
|
e3a393b4c3 | ||
|
7ecd0f9528 | ||
|
336887bca1 | ||
|
8e08ba6f96 | ||
|
77e1136f44 | ||
|
22c75f9f5a | ||
|
4b65be8860 | ||
|
9ea8e7f0df | ||
|
d0d09a4eee | ||
|
75f39e45f0 | ||
|
553089093f | ||
|
add30f01ef | ||
|
0dfb9c9e86 | ||
|
7e26cf83ba | ||
|
00d22ce0fa | ||
|
7f700cc35b | ||
|
e6167e749c | ||
|
bce0058333 | ||
|
9a0647ba7f | ||
|
669c5d6d44 | ||
|
87ac37074f | ||
|
e1bcca4f13 | ||
|
50ea1c1f5f | ||
|
3ca8b93476 | ||
|
d06b403377 | ||
|
481af42f28 | ||
|
393fffd07d | ||
|
c159b4095c | ||
|
b80b5b35a3 | ||
|
41ca03a7b4 | ||
|
18ac34825b | ||
|
15ef84ccfb | ||
|
44ee59d300 | ||
|
1e0ab5b826 | ||
|
a3381286d8 | ||
|
882f702441 | ||
|
a25e26f67f | ||
|
021d71b848 | ||
|
14f1659b43 | ||
|
02f2e97c3e | ||
|
5906dd6c99 | ||
|
2d05942b74 | ||
|
099ed78a04 | ||
|
91c5770ba1 | ||
|
3306ed6fd7 | ||
|
81f8006f7d | ||
|
1b498cf5b7 | ||
|
8c77be7ef9 | ||
|
ef43d21bbc | ||
|
ac3ca98a1b | ||
|
af1a690075 | ||
|
fffe533f08 | ||
|
4d5e0f78b7 | ||
|
b9e56ea151 | ||
|
e05c595acd | ||
|
c48d0d8dd2 | ||
|
aafd13027a | ||
|
1f42230fa7 | ||
|
2b85ed72db | ||
|
4cd38a592e | ||
|
60e2e04fe8 | ||
|
1a3df8cc77 | ||
|
45416a255f | ||
|
fb3f7c0bc5 | ||
|
4f570f2fb3 | ||
|
a4c8348597 | ||
|
893583776e | ||
|
2d669f6583 | ||
|
bccfe7ae0f | ||
|
ee241a6889 | ||
|
4b37a18da5 | ||
|
93f6f55983 | ||
|
af0c82099b | ||
|
5fe79b0b12 | ||
|
45f3aa0bc7 | ||
|
90239276ff | ||
|
57868b1ee4 | ||
|
fe2eac2237 | ||
|
db784a09f1 | ||
|
d9f4aaa095 | ||
|
e340a28dba | ||
|
6b908efd58 | ||
|
65f03e6733 | ||
|
ffaf58e7d0 | ||
|
bb9dea8a29 | ||
|
be59440b53 | ||
|
ac8d596498 | ||
|
112d2fdb17 | ||
|
c6353cee0c | ||
|
09e4f1a50f | ||
|
c7b9a2e38a | ||
|
6fcbf9aee3 | ||
|
fd2852fe5b | ||
|
57057c439e | ||
|
b5cc04b6ad | ||
|
d2e9fd5b6d | ||
|
b61192f2ae | ||
|
75c4824d2f | ||
|
f30fbbdbdd | ||
|
b247956c77 | ||
|
72a802a9c2 | ||
|
cfbc474d80 | ||
|
360872a45e | ||
|
42839ea5ba | ||
|
8dc03bd575 | ||
|
41906e9764 | ||
|
56572002fc | ||
|
c0e0de45dc | ||
|
b75a285633 | ||
|
1cf4dbdc81 | ||
|
c29ddc923f | ||
|
085de45812 | ||
|
31c7e6c51d | ||
|
2a0290d5f5 | ||
|
f77a97f057 | ||
|
d45c35c3d7 | ||
|
16eaf01a6a | ||
|
6316d415c4 | ||
|
dca88397ca | ||
|
6c383aaadd | ||
|
7e47ae3185 | ||
|
9e94c05936 | ||
|
4952c49f21 | ||
|
013eba0ec1 | ||
|
db9a6b96ab | ||
|
4d9c0445dd | ||
|
1a8f90dc70 | ||
|
7fe9292069 | ||
|
c260cb700b | ||
|
aab3758916 | ||
|
be24d54195 | ||
|
8751abf752 | ||
|
da7475f35f | ||
|
7b62f0eb50 | ||
|
fa62619da5 | ||
|
2e3d2035cf | ||
|
edb2186671 | ||
|
5a2ff2002b | ||
|
0a3c146723 | ||
|
6452e24ebc | ||
|
4186c1c7b1 | ||
|
d133096d26 | ||
|
01c9bf999e | ||
|
df63e76c2c | ||
|
b46e80ae60 | ||
|
ff97fbd9e9 | ||
|
504d73f342 | ||
|
7bbf0836c8 | ||
|
8d6963f005 | ||
|
50e6b471c5 |
@@ -1,4 +1,4 @@
|
||||
((prog-mode
|
||||
((nil
|
||||
(indent-tabs-mode . nil)
|
||||
(tab-width . 8)
|
||||
(c-basic-offset . 3)
|
||||
|
2
.gitignore
vendored
2
.gitignore
vendored
@@ -18,7 +18,6 @@
|
||||
*.tar
|
||||
*.tar.bz2
|
||||
*.tar.gz
|
||||
*.tar.xz
|
||||
*.trs
|
||||
*.zip
|
||||
*~
|
||||
@@ -45,4 +44,3 @@ manifest.txt
|
||||
.libs/
|
||||
Makefile
|
||||
Makefile.in
|
||||
.install-mesa-links
|
||||
|
@@ -24,17 +24,16 @@
|
||||
# use c99 compiler by default
|
||||
ifeq ($(LOCAL_CC),)
|
||||
ifeq ($(LOCAL_IS_HOST_MODULE),true)
|
||||
LOCAL_CC := $(HOST_CC) -std=c99 -D_GNU_SOURCE
|
||||
LOCAL_CC := $(HOST_CC) -std=c99
|
||||
else
|
||||
LOCAL_CC := $(TARGET_CC) -std=c99
|
||||
endif
|
||||
endif
|
||||
|
||||
LOCAL_C_INCLUDES += \
|
||||
$(MESA_TOP)/src \
|
||||
$(MESA_TOP)/include
|
||||
|
||||
MESA_VERSION := $(shell cat $(MESA_TOP)/VERSION)
|
||||
MESA_VERSION=$(shell cat $(MESA_TOP)/VERSION)
|
||||
# define ANDROID_VERSION (e.g., 4.0.x => 0x0400)
|
||||
LOCAL_CFLAGS += \
|
||||
-DPACKAGE_VERSION=\"$(MESA_VERSION)\" \
|
||||
@@ -42,19 +41,6 @@ LOCAL_CFLAGS += \
|
||||
-DANDROID_VERSION=0x0$(MESA_ANDROID_MAJOR_VERSION)0$(MESA_ANDROID_MINOR_VERSION)
|
||||
|
||||
LOCAL_CFLAGS += \
|
||||
-DHAVE___BUILTIN_EXPECT \
|
||||
-DHAVE___BUILTIN_FFS \
|
||||
-DHAVE___BUILTIN_FFSLL \
|
||||
-DHAVE_FUNC_ATTRIBUTE_FLATTEN \
|
||||
-DHAVE_FUNC_ATTRIBUTE_UNUSED \
|
||||
-DHAVE_FUNC_ATTRIBUTE_FORMAT \
|
||||
-DHAVE_FUNC_ATTRIBUTE_PACKED \
|
||||
-DHAVE___BUILTIN_CTZ \
|
||||
-DHAVE___BUILTIN_POPCOUNT \
|
||||
-DHAVE___BUILTIN_POPCOUNTLL \
|
||||
-DHAVE___BUILTIN_CLZ \
|
||||
-DHAVE___BUILTIN_CLZLL \
|
||||
-DHAVE___BUILTIN_UNREACHABLE \
|
||||
-DHAVE_PTHREAD=1 \
|
||||
-fvisibility=hidden \
|
||||
-Wno-sign-compare
|
||||
|
10
Android.mk
10
Android.mk
@@ -34,13 +34,6 @@ MESA_TOP := $(call my-dir)
|
||||
MESA_ANDROID_MAJOR_VERSION := $(word 1, $(subst ., , $(PLATFORM_VERSION)))
|
||||
MESA_ANDROID_MINOR_VERSION := $(word 2, $(subst ., , $(PLATFORM_VERSION)))
|
||||
MESA_ANDROID_VERSION := $(MESA_ANDROID_MAJOR_VERSION).$(MESA_ANDROID_MINOR_VERSION)
|
||||
ifeq ($(filter 1 2 3 4,$(MESA_ANDROID_MAJOR_VERSION)),)
|
||||
MESA_LOLLIPOP_BUILD := true
|
||||
else
|
||||
define local-generated-sources-dir
|
||||
$(call local-intermediates-dir)
|
||||
endef
|
||||
endif
|
||||
|
||||
MESA_COMMON_MK := $(MESA_TOP)/Android.common.mk
|
||||
MESA_PYTHON2 := python
|
||||
@@ -101,6 +94,7 @@ ifeq ($(strip $(MESA_BUILD_GALLIUM)),true)
|
||||
SUBDIRS += src/gallium
|
||||
endif
|
||||
|
||||
include $(call all-named-subdir-makefiles,$(SUBDIRS))
|
||||
mkfiles := $(patsubst %,$(MESA_TOP)/%/Android.mk,$(SUBDIRS))
|
||||
include $(mkfiles)
|
||||
|
||||
endif
|
||||
|
@@ -5,11 +5,3 @@ $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/SHARED_LIBRARIES/libGLES_mesa_i
|
||||
$(call add-clean-step, rm -rf $(OUT_DIR)/host/$(HOST_OS)-$(HOST_ARCH)/obj/EXECUTABLES/mesa_*_intermediates)
|
||||
$(call add-clean-step, rm -rf $(OUT_DIR)/host/$(HOST_OS)-$(HOST_ARCH)/obj/EXECUTABLES/glsl_compiler_intermediates)
|
||||
$(call add-clean-step, rm -rf $(OUT_DIR)/host/$(HOST_OS)-$(HOST_ARCH)/obj/STATIC_LIBRARIES/libmesa_glsl_utils_intermediates)
|
||||
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/*/STATIC_LIBRARIES/libmesa_*_intermediates)
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/*/SHARED_LIBRARIES/i9?5_dri_intermediates)
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/*/SHARED_LIBRARIES/libglapi_intermediates)
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/*/SHARED_LIBRARIES/libGLES_mesa_intermediates)
|
||||
$(call add-clean-step, rm -rf $(HOST_OUT_release)/*/EXECUTABLES/mesa_*_intermediates)
|
||||
$(call add-clean-step, rm -rf $(HOST_OUT_release)/*/EXECUTABLES/glsl_compiler_intermediates)
|
||||
$(call add-clean-step, rm -rf $(HOST_OUT_release)/*/STATIC_LIBRARIES/libmesa_*_intermediates)
|
||||
|
112
Makefile.am
112
Makefile.am
@@ -21,41 +21,85 @@
|
||||
|
||||
SUBDIRS = src
|
||||
|
||||
AM_DISTCHECK_CONFIGURE_FLAGS = \
|
||||
--enable-dri3 \
|
||||
--enable-gallium-tests \
|
||||
--enable-gbm \
|
||||
--enable-gles1 \
|
||||
--enable-gles2 \
|
||||
--enable-glx-tls \
|
||||
--enable-va \
|
||||
--enable-vdpau \
|
||||
--enable-xa \
|
||||
--enable-xvmc \
|
||||
--with-egl-platforms=x11,wayland,drm
|
||||
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
|
||||
EXTRA_DIST = \
|
||||
autogen.sh \
|
||||
common.py \
|
||||
docs \
|
||||
doxygen \
|
||||
scons \
|
||||
SConstruct
|
||||
doxygen:
|
||||
cd doxygen && $(MAKE)
|
||||
|
||||
noinst_HEADERS = \
|
||||
include/c99_alloca.h \
|
||||
include/c99_compat.h \
|
||||
include/c99_math.h \
|
||||
include/c99 \
|
||||
include/c11 \
|
||||
include/D3D9 \
|
||||
include/HaikuGL \
|
||||
include/no_extern_c.h \
|
||||
include/pci_ids
|
||||
.PHONY: doxygen
|
||||
|
||||
# We list some directories in EXTRA_DIST, but don't actually want to include
|
||||
# the .gitignore files in the tarball.
|
||||
dist-hook:
|
||||
find $(distdir) -name .gitignore -exec $(RM) {} +
|
||||
# Rules for making release tarballs
|
||||
|
||||
PACKAGE_DIR = Mesa-$(PACKAGE_VERSION)
|
||||
PACKAGE_NAME = MesaLib-$(PACKAGE_VERSION)
|
||||
|
||||
EXTRA_FILES = \
|
||||
aclocal.m4 \
|
||||
configure \
|
||||
bin/ar-lib \
|
||||
bin/compile \
|
||||
bin/config.sub \
|
||||
bin/config.guess \
|
||||
bin/depcomp \
|
||||
bin/install-sh \
|
||||
bin/ltmain.sh \
|
||||
bin/missing \
|
||||
bin/ylwrap \
|
||||
bin/test-driver \
|
||||
src/glsl/glsl_parser.cpp \
|
||||
src/glsl/glsl_parser.h \
|
||||
src/glsl/glsl_lexer.cpp \
|
||||
src/glsl/glcpp/glcpp-lex.c \
|
||||
src/glsl/glcpp/glcpp-parse.c \
|
||||
src/glsl/glcpp/glcpp-parse.h \
|
||||
src/mesa/program/lex.yy.c \
|
||||
src/mesa/program/program_parse.tab.c \
|
||||
src/mesa/program/program_parse.tab.h \
|
||||
`git ls-files | grep "Makefile.am" | sed -e "s/Makefile.am/Makefile.in/"`
|
||||
|
||||
|
||||
IGNORE_FILES = \
|
||||
-x autogen.sh
|
||||
|
||||
|
||||
parsers: configure
|
||||
$(MAKE) -C src/glsl glsl_parser.cpp glsl_parser.h glsl_lexer.cpp glcpp/glcpp-lex.c glcpp/glcpp-parse.c glcpp/glcpp-parse.h
|
||||
|
||||
# Everything for new a Mesa release:
|
||||
ARCHIVES = $(PACKAGE_NAME).tar.gz \
|
||||
$(PACKAGE_NAME).tar.bz2 \
|
||||
$(PACKAGE_NAME).zip
|
||||
|
||||
tarballs: checksums
|
||||
rm -f ../$(PACKAGE_DIR) $(PACKAGE_NAME).tar
|
||||
|
||||
manifest.txt: .git
|
||||
( \
|
||||
ls -1 $(EXTRA_FILES) ; \
|
||||
git ls-files $(IGNORE_FILES) \
|
||||
) | sed -e '/^\(.*\/\)\?\./d' -e "s@^@$(PACKAGE_DIR)/@" > $@
|
||||
|
||||
../$(PACKAGE_DIR):
|
||||
ln -s $(PWD) $@
|
||||
|
||||
$(PACKAGE_NAME).tar: parsers ../$(PACKAGE_DIR) manifest.txt
|
||||
cd .. ; tar -cf $(PACKAGE_DIR)/$(PACKAGE_NAME).tar -T $(PACKAGE_DIR)/manifest.txt
|
||||
|
||||
$(PACKAGE_NAME).tar.gz: $(PACKAGE_NAME).tar ../$(PACKAGE_DIR)
|
||||
gzip --stdout --best $(PACKAGE_NAME).tar > $(PACKAGE_NAME).tar.gz
|
||||
|
||||
$(PACKAGE_NAME).tar.bz2: $(PACKAGE_NAME).tar
|
||||
bzip2 --stdout --best $(PACKAGE_NAME).tar > $(PACKAGE_NAME).tar.bz2
|
||||
|
||||
$(PACKAGE_NAME).zip: parsers ../$(PACKAGE_DIR) manifest.txt
|
||||
rm -f $(PACKAGE_NAME).zip ; \
|
||||
cd .. ; \
|
||||
zip -q -@ $(PACKAGE_NAME).zip < $(PACKAGE_DIR)/manifest.txt ; \
|
||||
mv $(PACKAGE_NAME).zip $(PACKAGE_DIR)
|
||||
|
||||
checksums: $(ARCHIVES)
|
||||
@-sha256sum $(PACKAGE_NAME).tar.gz
|
||||
@-sha256sum $(PACKAGE_NAME).tar.bz2
|
||||
@-sha256sum $(PACKAGE_NAME).zip
|
||||
|
||||
.PHONY: tarballs checksums
|
||||
|
@@ -6,8 +6,8 @@ test -z "$srcdir" && srcdir=.
|
||||
ORIGDIR=`pwd`
|
||||
cd "$srcdir"
|
||||
|
||||
autoreconf --force --verbose --install || exit 1
|
||||
cd "$ORIGDIR" || exit $?
|
||||
autoreconf -v --install || exit 1
|
||||
cd $ORIGDIR || exit $?
|
||||
|
||||
if test -z "$NOCONFIGURE"; then
|
||||
"$srcdir"/configure "$@"
|
||||
|
2
bin/.cherry-ignore
Normal file
2
bin/.cherry-ignore
Normal file
@@ -0,0 +1,2 @@
|
||||
# No whitespace commits in stable.
|
||||
a10bf5c10caf27232d4df8da74d5c35c23eb883d
|
@@ -15,14 +15,17 @@
|
||||
# $ DRYRUN=yes bin/bugzilla_mesa.sh mesa-9.0.2..mesa-9.0.3 | wc -l
|
||||
|
||||
|
||||
# regex pattern: trim before bug number
|
||||
trim_before='s/.*show_bug.cgi?id=\([0-9]*\).*/\1/'
|
||||
# regex pattern: trim before url
|
||||
trim_before='s/.*\(http\)/\1/'
|
||||
|
||||
# regex pattern: reconstruct the url
|
||||
use_after='s,^,https://bugs.freedesktop.org/show_bug.cgi?id=,'
|
||||
# regex pattern: trim after url
|
||||
trim_after='s/\(show_bug.cgi?id=[0-9]*\).*/\1/'
|
||||
|
||||
# regex pattern: always use https
|
||||
use_https='s/http:/https:/'
|
||||
|
||||
# extract fdo urls from commit log
|
||||
urls=$(git log $* | grep 'bugs.freedesktop.org/show_bug' | sed -e $trim_before | sort -n -u | sed -e $use_after)
|
||||
urls=$(git log $* | grep 'bugs.freedesktop.org/show_bug' | sed -e $trim_before -e $trim_after -e $use_https | sort | uniq)
|
||||
|
||||
# if DRYRUN is set to "yes", simply print the URLs and don't fetch the
|
||||
# details from fdo bugzilla.
|
||||
|
@@ -14,7 +14,7 @@ git log --reverse --grep="cherry picked from commit" origin/master..HEAD |\
|
||||
sed -e 's/^[[:space:]]*(cherry picked from commit[[:space:]]*//' -e 's/)//' > already_picked
|
||||
|
||||
# Grep for commits that were marked as a candidate for the stable tree.
|
||||
git log --reverse --pretty=%H -i --grep='^\([[:space:]]*NOTE: .*[Cc]andidate\|CC:.*10\.6.*mesa-stable\)' HEAD..origin/master |\
|
||||
git log --reverse --pretty=%H -i --grep='^\([[:space:]]*NOTE: .*[Cc]andidate\|CC:.*mesa-stable\)' HEAD..origin/master |\
|
||||
while read sha
|
||||
do
|
||||
# Check to see whether the patch is on the ignore list.
|
||||
|
97
common.py
97
common.py
@@ -26,28 +26,28 @@ else:
|
||||
target_platform = host_platform
|
||||
|
||||
_machine_map = {
|
||||
'x86': 'x86',
|
||||
'i386': 'x86',
|
||||
'i486': 'x86',
|
||||
'i586': 'x86',
|
||||
'i686': 'x86',
|
||||
'BePC': 'x86',
|
||||
'Intel': 'x86',
|
||||
'ppc': 'ppc',
|
||||
'BeBox': 'ppc',
|
||||
'BeMac': 'ppc',
|
||||
'AMD64': 'x86_64',
|
||||
'x86_64': 'x86_64',
|
||||
'sparc': 'sparc',
|
||||
'sun4u': 'sparc',
|
||||
'x86': 'x86',
|
||||
'i386': 'x86',
|
||||
'i486': 'x86',
|
||||
'i586': 'x86',
|
||||
'i686': 'x86',
|
||||
'BePC': 'x86',
|
||||
'Intel': 'x86',
|
||||
'ppc' : 'ppc',
|
||||
'BeBox': 'ppc',
|
||||
'BeMac': 'ppc',
|
||||
'AMD64': 'x86_64',
|
||||
'x86_64': 'x86_64',
|
||||
'sparc': 'sparc',
|
||||
'sun4u': 'sparc',
|
||||
}
|
||||
|
||||
|
||||
# find host_machine value
|
||||
if 'PROCESSOR_ARCHITECTURE' in os.environ:
|
||||
host_machine = os.environ['PROCESSOR_ARCHITECTURE']
|
||||
host_machine = os.environ['PROCESSOR_ARCHITECTURE']
|
||||
else:
|
||||
host_machine = _platform.machine()
|
||||
host_machine = _platform.machine()
|
||||
host_machine = _machine_map.get(host_machine, 'generic')
|
||||
|
||||
default_machine = host_machine
|
||||
@@ -65,8 +65,7 @@ else:
|
||||
default_llvm = 'no'
|
||||
try:
|
||||
if target_platform != 'windows' and \
|
||||
subprocess.call(['llvm-config', '--version'],
|
||||
stdout=subprocess.PIPE) == 0:
|
||||
subprocess.call(['llvm-config', '--version'], stdout=subprocess.PIPE) == 0:
|
||||
default_llvm = 'yes'
|
||||
except:
|
||||
pass
|
||||
@@ -76,38 +75,30 @@ else:
|
||||
# Common options
|
||||
|
||||
def AddOptions(opts):
|
||||
try:
|
||||
from SCons.Variables.BoolVariable import BoolVariable as BoolOption
|
||||
except ImportError:
|
||||
from SCons.Options.BoolOption import BoolOption
|
||||
try:
|
||||
from SCons.Variables.EnumVariable import EnumVariable as EnumOption
|
||||
except ImportError:
|
||||
from SCons.Options.EnumOption import EnumOption
|
||||
opts.Add(EnumOption('build', 'build type', 'debug',
|
||||
allowed_values=('debug', 'checked', 'profile',
|
||||
'release')))
|
||||
opts.Add(BoolOption('verbose', 'verbose output', 'no'))
|
||||
opts.Add(EnumOption('machine', 'use machine-specific assembly code',
|
||||
default_machine,
|
||||
allowed_values=('generic', 'ppc', 'x86', 'x86_64')))
|
||||
opts.Add(EnumOption('platform', 'target platform', host_platform,
|
||||
allowed_values=('cygwin', 'darwin', 'freebsd', 'haiku',
|
||||
'linux', 'sunos', 'windows')))
|
||||
opts.Add(BoolOption('embedded', 'embedded build', 'no'))
|
||||
opts.Add(BoolOption('analyze',
|
||||
'enable static code analysis where available', 'no'))
|
||||
opts.Add('toolchain', 'compiler toolchain', default_toolchain)
|
||||
opts.Add(BoolOption('gles', 'EXPERIMENTAL: enable OpenGL ES support',
|
||||
'no'))
|
||||
opts.Add(BoolOption('llvm', 'use LLVM', default_llvm))
|
||||
opts.Add(BoolOption('openmp', 'EXPERIMENTAL: compile with openmp (swrast)',
|
||||
'no'))
|
||||
opts.Add(BoolOption('debug', 'DEPRECATED: debug build', 'yes'))
|
||||
opts.Add(BoolOption('profile', 'DEPRECATED: profile build', 'no'))
|
||||
opts.Add(BoolOption('quiet', 'DEPRECATED: profile build', 'yes'))
|
||||
opts.Add(BoolOption('texture_float',
|
||||
'enable floating-point textures and renderbuffers',
|
||||
'no'))
|
||||
if host_platform == 'windows':
|
||||
opts.Add('MSVC_VERSION', 'Microsoft Visual C/C++ version')
|
||||
try:
|
||||
from SCons.Variables.BoolVariable import BoolVariable as BoolOption
|
||||
except ImportError:
|
||||
from SCons.Options.BoolOption import BoolOption
|
||||
try:
|
||||
from SCons.Variables.EnumVariable import EnumVariable as EnumOption
|
||||
except ImportError:
|
||||
from SCons.Options.EnumOption import EnumOption
|
||||
opts.Add(EnumOption('build', 'build type', 'debug',
|
||||
allowed_values=('debug', 'checked', 'profile', 'release')))
|
||||
opts.Add(BoolOption('verbose', 'verbose output', 'no'))
|
||||
opts.Add(EnumOption('machine', 'use machine-specific assembly code', default_machine,
|
||||
allowed_values=('generic', 'ppc', 'x86', 'x86_64')))
|
||||
opts.Add(EnumOption('platform', 'target platform', host_platform,
|
||||
allowed_values=('cygwin', 'darwin', 'freebsd', 'haiku', 'linux', 'sunos', 'windows')))
|
||||
opts.Add(BoolOption('embedded', 'embedded build', 'no'))
|
||||
opts.Add(BoolOption('analyze', 'enable static code analysis where available', 'no'))
|
||||
opts.Add('toolchain', 'compiler toolchain', default_toolchain)
|
||||
opts.Add(BoolOption('gles', 'EXPERIMENTAL: enable OpenGL ES support', 'no'))
|
||||
opts.Add(BoolOption('llvm', 'use LLVM', default_llvm))
|
||||
opts.Add(BoolOption('openmp', 'EXPERIMENTAL: compile with openmp (swrast)', 'no'))
|
||||
opts.Add(BoolOption('debug', 'DEPRECATED: debug build', 'yes'))
|
||||
opts.Add(BoolOption('profile', 'DEPRECATED: profile build', 'no'))
|
||||
opts.Add(BoolOption('quiet', 'DEPRECATED: profile build', 'yes'))
|
||||
opts.Add(BoolOption('texture_float', 'enable floating-point textures and renderbuffers', 'no'))
|
||||
if host_platform == 'windows':
|
||||
opts.Add('MSVC_VERSION', 'Microsoft Visual C/C++ version')
|
||||
|
332
configure.ac
332
configure.ac
@@ -1,34 +1,3 @@
|
||||
dnl Copyright © 2011-2014 Intel Corporation
|
||||
dnl Copyright © 2011-2014 Emil Velikov <emil.l.velikov@gmail.com>
|
||||
dnl Copyright © 2007-2010 Dan Nicholson
|
||||
dnl Copyright © 2010-2014 Marek Olšák <maraeo@gmail.com>
|
||||
dnl Copyright © 2010-2014 Christian König
|
||||
dnl Copyright © 2012-2014 Tom Stellard <tstellar@gmail.com>
|
||||
dnl Copyright © 2009-2012 Jakob Bornecrantz
|
||||
dnl Copyright © 2009-2014 Jon TURNEY
|
||||
dnl Copyright © 2011-2012 Benjamin Franzke
|
||||
dnl Copyright © 2008-2014 David Airlie
|
||||
dnl Copyright © 2009-2013 Brian Paul
|
||||
dnl
|
||||
dnl Permission is hereby granted, free of charge, to any person obtaining a
|
||||
dnl copy of this software and associated documentation files (the "Software"),
|
||||
dnl to deal in the Software without restriction, including without limitation
|
||||
dnl the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
dnl and/or sell copies of the Software, and to permit persons to whom the
|
||||
dnl Software is furnished to do so, subject to the following conditions:
|
||||
dnl
|
||||
dnl The above copyright notice and this permission notice (including the next
|
||||
dnl paragraph) shall be included in all copies or substantial portions of the
|
||||
dnl Software.
|
||||
dnl
|
||||
dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
dnl IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
dnl FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
dnl THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
dnl LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
dnl FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
dnl DEALINGS IN THE SOFTWARE.
|
||||
dnl
|
||||
dnl Process this file with autoconf to create configure.
|
||||
|
||||
AC_PREREQ([2.60])
|
||||
@@ -43,14 +12,7 @@ AC_INIT([Mesa], [MESA_VERSION],
|
||||
AC_CONFIG_AUX_DIR([bin])
|
||||
AC_CONFIG_MACRO_DIR([m4])
|
||||
AC_CANONICAL_SYSTEM
|
||||
AM_INIT_AUTOMAKE([foreign tar-ustar dist-xz])
|
||||
|
||||
dnl We only support native Windows builds (MinGW/MSVC) through SCons.
|
||||
case "$host_os" in
|
||||
mingw*)
|
||||
AC_MSG_ERROR([MinGW build not supported through autoconf/automake, use SCons instead])
|
||||
;;
|
||||
esac
|
||||
AM_INIT_AUTOMAKE([foreign])
|
||||
|
||||
# Support silent build rules, requires at least automake-1.11. Disable
|
||||
# by either passing --disable-silent-rules to configure or passing V=1
|
||||
@@ -63,13 +25,11 @@ m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
|
||||
dnl Set internal versions
|
||||
OSMESA_VERSION=8
|
||||
AC_SUBST([OSMESA_VERSION])
|
||||
OPENCL_VERSION=1
|
||||
AC_SUBST([OPENCL_VERSION])
|
||||
|
||||
dnl Versions for external dependencies
|
||||
LIBDRM_REQUIRED=2.4.38
|
||||
LIBDRM_RADEON_REQUIRED=2.4.56
|
||||
LIBDRM_INTEL_REQUIRED=2.4.60
|
||||
LIBDRM_INTEL_REQUIRED=2.4.52
|
||||
LIBDRM_NVVIEUX_REQUIRED=2.4.33
|
||||
LIBDRM_NOUVEAU_REQUIRED="2.4.33 libdrm >= 2.4.41"
|
||||
LIBDRM_FREEDRENO_REQUIRED=2.4.57
|
||||
@@ -79,7 +39,6 @@ PRESENTPROTO_REQUIRED=1.0
|
||||
LIBUDEV_REQUIRED=151
|
||||
GLPROTO_REQUIRED=1.4.14
|
||||
LIBOMXIL_BELLAGIO_REQUIRED=0.0
|
||||
LIBVA_REQUIRED=0.35.0
|
||||
VDPAU_REQUIRED=0.4.1
|
||||
WAYLAND_REQUIRED=1.2.0
|
||||
XCB_REQUIRED=1.9.3
|
||||
@@ -87,7 +46,6 @@ XCBDRI2_REQUIRED=1.8
|
||||
XCBGLX_REQUIRED=1.8.1
|
||||
XSHMFENCE_REQUIRED=1.1
|
||||
XVMC_REQUIRED=1.0.6
|
||||
PYTHON_MAKO_REQUIRED=0.3.4
|
||||
|
||||
dnl Check for progs
|
||||
AC_PROG_CPP
|
||||
@@ -114,27 +72,7 @@ AX_PROG_FLEX([],
|
||||
|
||||
AC_CHECK_PROG(INDENT, indent, indent, cat)
|
||||
if test "x$INDENT" != "xcat"; then
|
||||
# Only GNU indent is supported
|
||||
INDENT_VERSION=`indent --version | grep GNU`
|
||||
if test $? -eq 0; then
|
||||
AC_SUBST(INDENT_FLAGS, '-i4 -nut -br -brs -npcs -ce -TGLubyte -TGLbyte -TBool')
|
||||
else
|
||||
INDENT="cat"
|
||||
fi
|
||||
fi
|
||||
|
||||
AX_CHECK_PYTHON_MAKO_MODULE($PYTHON_MAKO_REQUIRED)
|
||||
|
||||
if test -z "$PYTHON2"; then
|
||||
if test ! -f "$srcdir/src/util/format_srgb.c"; then
|
||||
AC_MSG_ERROR([Python not found - unable to generate sources])
|
||||
fi
|
||||
else
|
||||
if test "x$acv_mako_found" = xno; then
|
||||
if test ! -f "$srcdir/src/mesa/main/format_unpack.c"; then
|
||||
AC_MSG_ERROR([Python mako module v$PYTHON_MAKO_REQUIRED or higher not found])
|
||||
fi
|
||||
fi
|
||||
AC_SUBST(INDENT_FLAGS, '-i4 -nut -br -brs -npcs -ce -TGLubyte -TGLbyte -TBool')
|
||||
fi
|
||||
|
||||
AC_PROG_INSTALL
|
||||
@@ -163,10 +101,9 @@ AC_COMPILE_IFELSE(
|
||||
|
||||
AC_MSG_RESULT([$acv_mesa_CLANG])
|
||||
|
||||
dnl If we're using GCC, make sure that it is at least version 4.2.0. Older
|
||||
dnl If we're using GCC, make sure that it is at least version 3.3.0. Older
|
||||
dnl versions are explictly not supported.
|
||||
GEN_ASM_OFFSETS=no
|
||||
USE_GNU99=no
|
||||
if test "x$GCC" = xyes -a "x$acv_mesa_CLANG" = xno; then
|
||||
AC_MSG_CHECKING([whether gcc version is sufficient])
|
||||
major=0
|
||||
@@ -178,16 +115,13 @@ if test "x$GCC" = xyes -a "x$acv_mesa_CLANG" = xno; then
|
||||
GCC_VERSION_MINOR=`echo $GCC_VERSION | cut -d. -f2`
|
||||
fi
|
||||
|
||||
if test $GCC_VERSION_MAJOR -lt 4 -o $GCC_VERSION_MAJOR -eq 4 -a $GCC_VERSION_MINOR -lt 2 ; then
|
||||
if test $GCC_VERSION_MAJOR -lt 3 -o $GCC_VERSION_MAJOR -eq 3 -a $GCC_VERSION_MINOR -lt 3 ; then
|
||||
AC_MSG_RESULT([no])
|
||||
AC_MSG_ERROR([If using GCC, version 4.2.0 or later is required.])
|
||||
AC_MSG_ERROR([If using GCC, version 3.3.0 or later is required.])
|
||||
else
|
||||
AC_MSG_RESULT([yes])
|
||||
fi
|
||||
|
||||
if test $GCC_VERSION_MAJOR -lt 4 -o $GCC_VERSION_MAJOR -eq 4 -a $GCC_VERSION_MINOR -lt 6 ; then
|
||||
USE_GNU99=yes
|
||||
fi
|
||||
if test "x$cross_compiling" = xyes; then
|
||||
GEN_ASM_OFFSETS=yes
|
||||
fi
|
||||
@@ -210,7 +144,6 @@ AX_GCC_FUNC_ATTRIBUTE([flatten])
|
||||
AX_GCC_FUNC_ATTRIBUTE([format])
|
||||
AX_GCC_FUNC_ATTRIBUTE([malloc])
|
||||
AX_GCC_FUNC_ATTRIBUTE([packed])
|
||||
AX_GCC_FUNC_ATTRIBUTE([unused])
|
||||
|
||||
AM_CONDITIONAL([GEN_ASM_OFFSETS], test "x$GEN_ASM_OFFSETS" = xyes)
|
||||
|
||||
@@ -231,7 +164,7 @@ _SAVE_LDFLAGS="$LDFLAGS"
|
||||
_SAVE_CPPFLAGS="$CPPFLAGS"
|
||||
|
||||
dnl Compiler macros
|
||||
DEFINES=""
|
||||
DEFINES="-DUSE_EXTERNAL_DXTN_LIB=1"
|
||||
AC_SUBST([DEFINES])
|
||||
case "$host_os" in
|
||||
linux*|*-gnu*|gnu*)
|
||||
@@ -247,13 +180,7 @@ esac
|
||||
|
||||
dnl Add flags for gcc and g++
|
||||
if test "x$GCC" = xyes; then
|
||||
CFLAGS="$CFLAGS -Wall"
|
||||
|
||||
if test "x$USE_GNU99" = xyes; then
|
||||
CFLAGS="$CFLAGS -std=gnu99"
|
||||
else
|
||||
CFLAGS="$CFLAGS -std=c99"
|
||||
fi
|
||||
CFLAGS="$CFLAGS -Wall -std=c99"
|
||||
|
||||
# Enable -Werror=implicit-function-declaration and
|
||||
# -Werror=missing-prototypes, if available, or otherwise, just
|
||||
@@ -285,30 +212,6 @@ if test "x$GCC" = xyes; then
|
||||
# gcc's builtin memcmp is slower than glibc's
|
||||
# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43052
|
||||
CFLAGS="$CFLAGS -fno-builtin-memcmp"
|
||||
|
||||
# Flags to help ensure that certain portions of the code -- and only those
|
||||
# portions -- can be built with MSVC:
|
||||
# - src/util, src/gallium/auxiliary, and src/gallium/drivers/llvmpipe needs
|
||||
# to build with Windows SDK 7.0.7600, which bundles MSVC 2008
|
||||
# - non-Linux/Posix OpenGL portions needs to build on MSVC 2013 (which
|
||||
# supports most of C99)
|
||||
# - the rest has no compiler compiler restrictions
|
||||
MSVC2013_COMPAT_CFLAGS="-Werror=pointer-arith"
|
||||
MSVC2013_COMPAT_CXXFLAGS="-Werror=pointer-arith"
|
||||
|
||||
# Enable -Werror=vla if compiler supports it
|
||||
save_CFLAGS="$CFLAGS"
|
||||
AC_MSG_CHECKING([whether $CC supports -Werror=vla])
|
||||
CFLAGS="$CFLAGS -Werror=vla"
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM()],
|
||||
[MSVC2013_COMPAT_CFLAGS="$MSVC2013_COMPAT_CFLAGS -Werror=vla";
|
||||
MSVC2013_COMPAT_CXXFLAGS="$MSVC2013_COMPAT_CXXFLAGS -Werror=vla";
|
||||
AC_MSG_RESULT([yes])],
|
||||
AC_MSG_RESULT([no]));
|
||||
CFLAGS="$save_CFLAGS"
|
||||
|
||||
MSVC2008_COMPAT_CFLAGS="$MSVC2013_COMPAT_CFLAGS -Werror=declaration-after-statement"
|
||||
MSVC2008_COMPAT_CXXFLAGS="$MSVC2013_COMPAT_CXXFLAGS"
|
||||
fi
|
||||
if test "x$GXX" = xyes; then
|
||||
CXXFLAGS="$CXXFLAGS -Wall"
|
||||
@@ -334,11 +237,6 @@ if test "x$GXX" = xyes; then
|
||||
CXXFLAGS="$CXXFLAGS -fno-builtin-memcmp"
|
||||
fi
|
||||
|
||||
AC_SUBST([MSVC2013_COMPAT_CFLAGS])
|
||||
AC_SUBST([MSVC2013_COMPAT_CXXFLAGS])
|
||||
AC_SUBST([MSVC2008_COMPAT_CFLAGS])
|
||||
AC_SUBST([MSVC2008_COMPAT_CXXFLAGS])
|
||||
|
||||
dnl even if the compiler appears to support it, using visibility attributes isn't
|
||||
dnl going to do anything useful currently on cygwin apart from emit lots of warnings
|
||||
case "$host_os" in
|
||||
@@ -421,8 +319,6 @@ if test "x$enable_debug" = xyes; then
|
||||
CXXFLAGS="$CXXFLAGS -O0"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
DEFINES="$DEFINES -DNDEBUG"
|
||||
fi
|
||||
|
||||
dnl
|
||||
@@ -650,7 +546,6 @@ if test "x$enable_asm" = xyes; then
|
||||
fi
|
||||
|
||||
AC_CHECK_HEADER([xlocale.h], [DEFINES="$DEFINES -DHAVE_XLOCALE_H"])
|
||||
AC_CHECK_HEADER([sys/sysctl.h], [DEFINES="$DEFINES -DHAVE_SYS_SYSCTL_H"])
|
||||
AC_CHECK_FUNC([strtof], [DEFINES="$DEFINES -DHAVE_STRTOF"])
|
||||
|
||||
dnl Check to see if dlopen is in default libraries (like Solaris, which
|
||||
@@ -667,7 +562,7 @@ AC_CHECK_FUNCS([dladdr])
|
||||
LIBS="$save_LIBS"
|
||||
|
||||
case "$host_os" in
|
||||
darwin*)
|
||||
darwin*|mingw*)
|
||||
;;
|
||||
*)
|
||||
AC_CHECK_FUNCS([clock_gettime], [CLOCK_LIB=],
|
||||
@@ -681,10 +576,13 @@ dnl See if posix_memalign is available
|
||||
AC_CHECK_FUNC([posix_memalign], [DEFINES="$DEFINES -DHAVE_POSIX_MEMALIGN"])
|
||||
|
||||
dnl Check for pthreads
|
||||
AX_PTHREAD
|
||||
if test "x$ax_pthread_ok" = xno; then
|
||||
AC_MSG_ERROR([Building mesa on this platform requires pthreads])
|
||||
fi
|
||||
case "$host_os" in
|
||||
mingw*)
|
||||
;;
|
||||
*)
|
||||
AX_PTHREAD
|
||||
;;
|
||||
esac
|
||||
dnl AX_PTHREADS leaves PTHREAD_LIBS empty for gcc and sets PTHREAD_CFLAGS
|
||||
dnl to -pthread, which causes problems if we need -lpthread to appear in
|
||||
dnl pkgconfig files.
|
||||
@@ -724,6 +622,11 @@ AC_ARG_ENABLE([gles2],
|
||||
[enable support for OpenGL ES 2.x API @<:@default=disabled@:>@])],
|
||||
[enable_gles2="$enableval"],
|
||||
[enable_gles2=no])
|
||||
AC_ARG_ENABLE([openvg],
|
||||
[AS_HELP_STRING([--enable-openvg],
|
||||
[enable support for OpenVG API @<:@default=disabled@:>@])],
|
||||
[enable_openvg="$enableval"],
|
||||
[enable_openvg=no])
|
||||
|
||||
AC_ARG_ENABLE([dri],
|
||||
[AS_HELP_STRING([--enable-dri],
|
||||
@@ -854,6 +757,7 @@ if test "x$enable_opengl" = xno -a \
|
||||
"x$enable_gles1" = xno -a \
|
||||
"x$enable_gles2" = xno -a \
|
||||
"x$enable_nine" = xno -a \
|
||||
"x$enable_openvg" = xno -a \
|
||||
"x$enable_xa" = xno -a \
|
||||
"x$enable_xvmc" = xno -a \
|
||||
"x$enable_vdpau" = xno -a \
|
||||
@@ -911,18 +815,11 @@ fi
|
||||
AM_CONDITIONAL(HAVE_DRI_GLX, test "x$enable_glx" = xyes -a \
|
||||
"x$enable_dri" = xyes)
|
||||
|
||||
# Check for libdrm
|
||||
PKG_CHECK_MODULES([LIBDRM], [libdrm >= $LIBDRM_REQUIRED],
|
||||
[have_libdrm=yes], [have_libdrm=no])
|
||||
if test "x$have_libdrm" = xyes; then
|
||||
DEFINES="$DEFINES -DHAVE_LIBDRM"
|
||||
fi
|
||||
|
||||
# Select which platform-dependent DRI code gets built
|
||||
case "$host_os" in
|
||||
darwin*)
|
||||
dri_platform='apple' ;;
|
||||
gnu*|cygwin*)
|
||||
gnu*|mingw*|cygwin*)
|
||||
dri_platform='none' ;;
|
||||
*)
|
||||
dri_platform='drm' ;;
|
||||
@@ -930,8 +827,8 @@ esac
|
||||
|
||||
AM_CONDITIONAL(HAVE_DRICOMMON, test "x$enable_dri" = xyes )
|
||||
AM_CONDITIONAL(HAVE_DRISW, test "x$enable_dri" = xyes )
|
||||
AM_CONDITIONAL(HAVE_DRI2, test "x$enable_dri" = xyes -a "x$dri_platform" = xdrm -a "x$have_libdrm" = xyes )
|
||||
AM_CONDITIONAL(HAVE_DRI3, test "x$enable_dri3" = xyes -a "x$dri_platform" = xdrm -a "x$have_libdrm" = xyes )
|
||||
AM_CONDITIONAL(HAVE_DRI2, test "x$enable_dri" = xyes -a "x$dri_platform" = xdrm )
|
||||
AM_CONDITIONAL(HAVE_DRI3, test "x$enable_dri3" = xyes -a "x$dri_platform" = xdrm )
|
||||
AM_CONDITIONAL(HAVE_APPLEDRI, test "x$enable_dri" = xyes -a "x$dri_platform" = xapple )
|
||||
|
||||
AC_ARG_ENABLE([shared-glapi],
|
||||
@@ -950,7 +847,7 @@ x*yes*yes*)
|
||||
esac
|
||||
|
||||
# Building Xlib-GLX requires shared glapi to be disabled.
|
||||
if test "x$enable_shared_glapi$enable_xlib_glx" = xyesyes; then
|
||||
if test "x$enable_xlib_glx" = xyes; then
|
||||
AC_MSG_NOTICE([Shared GLAPI should not used with Xlib-GLX, disabling])
|
||||
enable_shared_glapi=no
|
||||
fi
|
||||
@@ -987,6 +884,13 @@ fi
|
||||
|
||||
AC_SUBST([MESA_LLVM])
|
||||
|
||||
# Check for libdrm
|
||||
PKG_CHECK_MODULES([LIBDRM], [libdrm >= $LIBDRM_REQUIRED],
|
||||
[have_libdrm=yes], [have_libdrm=no])
|
||||
if test "x$have_libdrm" = xyes; then
|
||||
DEFINES="$DEFINES -DHAVE_LIBDRM"
|
||||
fi
|
||||
|
||||
case "$host_os" in
|
||||
linux*)
|
||||
need_pci_id=yes ;;
|
||||
@@ -1411,15 +1315,8 @@ if test "x$enable_egl" = xyes; then
|
||||
|
||||
if test "$enable_static" != yes; then
|
||||
if test "x$enable_dri" = xyes; then
|
||||
HAVE_EGL_DRIVER_DRI2=1
|
||||
if test "x$enable_shared_glapi" = xno; then
|
||||
AC_MSG_ERROR([egl_dri2 requires --enable-shared-glapi])
|
||||
fi
|
||||
else
|
||||
# Avoid building an "empty" libEGL. Drop/update this
|
||||
# when other backends (haiku?) come along.
|
||||
AC_MSG_ERROR([egl requires --enable-dri])
|
||||
fi
|
||||
HAVE_EGL_DRIVER_DRI2=1
|
||||
fi
|
||||
|
||||
fi
|
||||
fi
|
||||
@@ -1442,65 +1339,72 @@ if test "x$enable_xa" = xyes; then
|
||||
fi
|
||||
AM_CONDITIONAL(HAVE_ST_XA, test "x$enable_xa" = xyes)
|
||||
|
||||
dnl
|
||||
dnl OpenVG configuration
|
||||
dnl
|
||||
VG_LIB_DEPS=""
|
||||
|
||||
if test "x$enable_openvg" = xyes; then
|
||||
if test "x$enable_egl" = xno; then
|
||||
AC_MSG_ERROR([cannot enable OpenVG without EGL])
|
||||
fi
|
||||
if test -z "$with_gallium_drivers"; then
|
||||
AC_MSG_ERROR([cannot enable OpenVG without Gallium])
|
||||
fi
|
||||
|
||||
AC_MSG_ERROR([Cannot enable OpenVG, because egl_gallium has been removed and
|
||||
OpenVG hasn't been integrated into standard libEGL yet])
|
||||
|
||||
EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(VG_LIB)'
|
||||
VG_LIB_DEPS="$VG_LIB_DEPS $SELINUX_LIBS $PTHREAD_LIBS"
|
||||
VG_PC_LIB_PRIV="-lm $CLOCK_LIB $PTHREAD_LIBS $DLOPEN_LIBS"
|
||||
AC_SUBST([VG_PC_LIB_PRIV])
|
||||
fi
|
||||
AM_CONDITIONAL(HAVE_OPENVG, test "x$enable_openvg" = xyes)
|
||||
|
||||
dnl
|
||||
dnl Gallium G3DVL configuration
|
||||
dnl
|
||||
if test -n "$with_gallium_drivers" -a "x$with_gallium_drivers" != xswrast; then
|
||||
if test "x$enable_xvmc" = xauto; then
|
||||
PKG_CHECK_EXISTS([xvmc >= $XVMC_REQUIRED], [enable_xvmc=yes], [enable_xvmc=no])
|
||||
PKG_CHECK_EXISTS([xvmc], [enable_xvmc=yes], [enable_xvmc=no])
|
||||
fi
|
||||
|
||||
if test "x$enable_vdpau" = xauto; then
|
||||
PKG_CHECK_EXISTS([vdpau >= $VDPAU_REQUIRED], [enable_vdpau=yes], [enable_vdpau=no])
|
||||
PKG_CHECK_EXISTS([vdpau], [enable_vdpau=yes], [enable_vdpau=no])
|
||||
fi
|
||||
|
||||
if test "x$enable_omx" = xauto; then
|
||||
PKG_CHECK_EXISTS([libomxil-bellagio >= $LIBOMXIL_BELLAGIO_REQUIRED], [enable_omx=yes], [enable_omx=no])
|
||||
PKG_CHECK_EXISTS([libomxil-bellagio], [enable_omx=yes], [enable_omx=no])
|
||||
fi
|
||||
|
||||
if test "x$enable_va" = xauto; then
|
||||
PKG_CHECK_EXISTS([libva >= $LIBVA_REQUIRED], [enable_va=yes], [enable_va=no])
|
||||
PKG_CHECK_EXISTS([libva], [enable_va=yes], [enable_va=no])
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "x$enable_dri" = xyes -o \
|
||||
"x$enable_xvmc" = xyes -o \
|
||||
"x$enable_vdpau" = xyes -o \
|
||||
"x$enable_omx" = xyes -o \
|
||||
"x$enable_va" = xyes; then
|
||||
need_gallium_vl=yes
|
||||
fi
|
||||
AM_CONDITIONAL(NEED_GALLIUM_VL, test "x$need_gallium_vl" = xyes)
|
||||
|
||||
if test "x$enable_xvmc" = xyes -o \
|
||||
"x$enable_vdpau" = xyes -o \
|
||||
"x$enable_omx" = xyes -o \
|
||||
"x$enable_va" = xyes; then
|
||||
PKG_CHECK_MODULES([VL], [x11-xcb xcb xcb-dri2 >= $XCBDRI2_REQUIRED])
|
||||
need_gallium_vl_winsys=yes
|
||||
fi
|
||||
AM_CONDITIONAL(NEED_GALLIUM_VL_WINSYS, test "x$need_gallium_vl_winsys" = xyes)
|
||||
|
||||
if test "x$enable_xvmc" = xyes; then
|
||||
PKG_CHECK_MODULES([XVMC], [xvmc >= $XVMC_REQUIRED])
|
||||
PKG_CHECK_MODULES([XVMC], [xvmc >= $XVMC_REQUIRED x11-xcb xcb xcb-dri2 >= $XCBDRI2_REQUIRED])
|
||||
enable_gallium_loader=$enable_shared_pipe_drivers
|
||||
fi
|
||||
AM_CONDITIONAL(HAVE_ST_XVMC, test "x$enable_xvmc" = xyes)
|
||||
|
||||
if test "x$enable_vdpau" = xyes; then
|
||||
PKG_CHECK_MODULES([VDPAU], [vdpau >= $VDPAU_REQUIRED])
|
||||
PKG_CHECK_MODULES([VDPAU], [vdpau >= $VDPAU_REQUIRED x11-xcb xcb xcb-dri2 >= $XCBDRI2_REQUIRED],
|
||||
[VDPAU_LIBS="`$PKG_CONFIG --libs x11-xcb xcb xcb-dri2`"])
|
||||
enable_gallium_loader=$enable_shared_pipe_drivers
|
||||
fi
|
||||
AM_CONDITIONAL(HAVE_ST_VDPAU, test "x$enable_vdpau" = xyes)
|
||||
|
||||
if test "x$enable_omx" = xyes; then
|
||||
PKG_CHECK_MODULES([OMX], [libomxil-bellagio >= $LIBOMXIL_BELLAGIO_REQUIRED])
|
||||
PKG_CHECK_MODULES([OMX], [libomxil-bellagio >= $LIBOMXIL_BELLAGIO_REQUIRED x11-xcb xcb xcb-dri2 >= $XCBDRI2_REQUIRED])
|
||||
enable_gallium_loader=$enable_shared_pipe_drivers
|
||||
fi
|
||||
AM_CONDITIONAL(HAVE_ST_OMX, test "x$enable_omx" = xyes)
|
||||
|
||||
if test "x$enable_va" = xyes; then
|
||||
PKG_CHECK_MODULES([VA], [libva >= $LIBVA_REQUIRED])
|
||||
PKG_CHECK_MODULES([VA], [libva >= 0.35.0 x11-xcb xcb-dri2 >= $XCBDRI2_REQUIRED],
|
||||
[VA_LIBS="`$PKG_CONFIG --libs x11-xcb xcb-dri2`"])
|
||||
enable_gallium_loader=$enable_shared_pipe_drivers
|
||||
fi
|
||||
AM_CONDITIONAL(HAVE_ST_VA, test "x$enable_va" = xyes)
|
||||
@@ -1512,13 +1416,9 @@ if test "x$enable_nine" = xyes; then
|
||||
if ! echo "$with_gallium_drivers" | grep -q 'swrast'; then
|
||||
AC_MSG_ERROR([nine requires the gallium swrast driver])
|
||||
fi
|
||||
if test "x$with_gallium_drivers" = xswrast; then
|
||||
if test "x$with_gallium_drivers" == xswrast; then
|
||||
AC_MSG_ERROR([nine requires at least one non-swrast gallium driver])
|
||||
fi
|
||||
if test $GCC_VERSION_MAJOR -lt 4 -o $GCC_VERSION_MAJOR -eq 4 -a $GCC_VERSION_MINOR -lt 6; then
|
||||
AC_MSG_ERROR([gcc >= 4.6 is required to build nine])
|
||||
fi
|
||||
|
||||
if test "x$enable_dri3" = xno; then
|
||||
AC_MSG_WARN([using nine together with wine requires DRI3 enabled system])
|
||||
fi
|
||||
@@ -1531,6 +1431,19 @@ dnl
|
||||
dnl OpenCL configuration
|
||||
dnl
|
||||
|
||||
AC_ARG_WITH([libclc-path],
|
||||
[AS_HELP_STRING([--with-libclc-path],
|
||||
[DEPRECATED: See http://dri.freedesktop.org/wiki/GalliumCompute#How_to_Install])],
|
||||
[LIBCLC_PATH="$withval"],
|
||||
[LIBCLC_PATH=''])
|
||||
|
||||
if test -n "$LIBCLC_PATH"; then
|
||||
AC_MSG_ERROR([The --with-libclc-path option has been deprecated.
|
||||
Please review the updated build instructions for clover:
|
||||
http://dri.freedesktop.org/wiki/GalliumCompute])
|
||||
fi
|
||||
|
||||
|
||||
AC_ARG_WITH([clang-libdir],
|
||||
[AS_HELP_STRING([--with-clang-libdir],
|
||||
[Path to Clang libraries @<:@default=llvm-config --libdir@:>@])],
|
||||
@@ -1621,26 +1534,16 @@ if test "x$with_egl_platforms" != "x" -a "x$enable_egl" != xyes; then
|
||||
AC_MSG_ERROR([cannot build egl state tracker without EGL library])
|
||||
fi
|
||||
|
||||
PKG_CHECK_MODULES([WAYLAND_SCANNER], [wayland_scanner],
|
||||
WAYLAND_SCANNER=`$PKG_CONFIG --variable=wayland_scanner wayland_scanner`,
|
||||
WAYLAND_SCANNER='')
|
||||
if test "x$WAYLAND_SCANNER" = x; then
|
||||
AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner])
|
||||
fi
|
||||
|
||||
# Do per-EGL platform setups and checks
|
||||
egl_platforms=`IFS=', '; echo $with_egl_platforms`
|
||||
for plat in $egl_platforms; do
|
||||
case "$plat" in
|
||||
wayland)
|
||||
test "x$have_libdrm" != xyes &&
|
||||
AC_MSG_ERROR([EGL platform wayland requires libdrm >= $LIBDRM_REQUIRED])
|
||||
|
||||
PKG_CHECK_MODULES([WAYLAND], [wayland-client >= $WAYLAND_REQUIRED wayland-server >= $WAYLAND_REQUIRED])
|
||||
|
||||
if test "x$WAYLAND_SCANNER" = x; then
|
||||
AC_MSG_ERROR([wayland-scanner is needed to compile the wayland egl platform])
|
||||
fi
|
||||
WAYLAND_PREFIX=`$PKG_CONFIG --variable=prefix wayland-client`
|
||||
AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner],,
|
||||
[${WAYLAND_PREFIX}/bin$PATH_SEPARATOR$PATH])
|
||||
;;
|
||||
|
||||
x11)
|
||||
@@ -1654,7 +1557,7 @@ for plat in $egl_platforms; do
|
||||
AC_MSG_ERROR([EGL platform drm requires libdrm >= $LIBDRM_REQUIRED])
|
||||
;;
|
||||
|
||||
android|gdi|null)
|
||||
android|fbdev|gdi|null)
|
||||
;;
|
||||
|
||||
*)
|
||||
@@ -1671,7 +1574,7 @@ done
|
||||
# libEGL wants to default to the first platform specified in
|
||||
# ./configure. parse that here.
|
||||
if test "x$egl_platforms" != "x"; then
|
||||
FIRST_PLATFORM_CAPS=`echo $egl_platforms | sed 's| .*||' | tr '[[a-z]]' '[[A-Z]]'`
|
||||
FIRST_PLATFORM_CAPS=`echo $egl_platforms | sed 's| .*||' | tr 'a-z' 'A-Z'`
|
||||
EGL_NATIVE_PLATFORM="_EGL_PLATFORM_$FIRST_PLATFORM_CAPS"
|
||||
else
|
||||
EGL_NATIVE_PLATFORM="_EGL_INVALID_PLATFORM"
|
||||
@@ -1683,6 +1586,7 @@ fi
|
||||
AM_CONDITIONAL(HAVE_EGL_PLATFORM_X11, echo "$egl_platforms" | grep -q 'x11')
|
||||
AM_CONDITIONAL(HAVE_EGL_PLATFORM_WAYLAND, echo "$egl_platforms" | grep -q 'wayland')
|
||||
AM_CONDITIONAL(HAVE_EGL_PLATFORM_DRM, echo "$egl_platforms" | grep -q 'drm')
|
||||
AM_CONDITIONAL(HAVE_EGL_PLATFORM_FBDEV, echo "$egl_platforms" | grep -q 'fbdev')
|
||||
AM_CONDITIONAL(HAVE_EGL_PLATFORM_NULL, echo "$egl_platforms" | grep -q 'null')
|
||||
|
||||
AM_CONDITIONAL(HAVE_EGL_DRIVER_DRI2, test "x$HAVE_EGL_DRIVER_DRI2" != "x")
|
||||
@@ -1697,6 +1601,21 @@ if ! echo "$egl_platforms" | grep -q 'x11'; then
|
||||
GL_PC_CFLAGS="$GL_PC_CFLAGS -DMESA_EGL_NO_X11_HEADERS"
|
||||
fi
|
||||
|
||||
AC_ARG_WITH([max-width],
|
||||
[AS_HELP_STRING([--with-max-width=N],
|
||||
[Maximum framebuffer width (4096)])],
|
||||
[DEFINES="${DEFINES} -DMAX_WIDTH=${withval}";
|
||||
AS_IF([test "${withval}" -gt "4096"],
|
||||
[AC_MSG_WARN([Large framebuffer: see s_tritemp.h comments.])])]
|
||||
)
|
||||
AC_ARG_WITH([max-height],
|
||||
[AS_HELP_STRING([--with-max-height=N],
|
||||
[Maximum framebuffer height (4096)])],
|
||||
[DEFINES="${DEFINES} -DMAX_HEIGHT=${withval}";
|
||||
AS_IF([test "${withval}" -gt "4096"],
|
||||
[AC_MSG_WARN([Large framebuffer: see s_tritemp.h comments.])])]
|
||||
)
|
||||
|
||||
dnl
|
||||
dnl Gallium LLVM
|
||||
dnl
|
||||
@@ -1743,13 +1662,6 @@ strip_unwanted_llvm_flags() {
|
||||
-e 's/-fstack-protector-strong\>//g'
|
||||
}
|
||||
|
||||
llvm_check_version_for() {
|
||||
if test "${LLVM_VERSION_INT}${LLVM_VERSION_PATCH}" -lt "${1}0${2}${3}"; then
|
||||
AC_MSG_ERROR([LLVM $1.$2.$3 or newer is required for $4])
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
|
||||
if test -z "$with_gallium_drivers"; then
|
||||
enable_gallium_llvm=no
|
||||
@@ -1804,10 +1716,22 @@ if test "x$enable_gallium_llvm" = xyes; then
|
||||
fi
|
||||
|
||||
if test "x$enable_opencl" = xyes; then
|
||||
llvm_check_version_for "3" "5" "0" "opencl"
|
||||
|
||||
LLVM_COMPONENTS="${LLVM_COMPONENTS} all-targets ipo linker instrumentation"
|
||||
LLVM_COMPONENTS="${LLVM_COMPONENTS} irreader option objcarcopts profiledata"
|
||||
# LLVM 3.3 >= 177971 requires IRReader
|
||||
if $LLVM_CONFIG --components | grep -qw 'irreader'; then
|
||||
LLVM_COMPONENTS="${LLVM_COMPONENTS} irreader"
|
||||
fi
|
||||
# LLVM 3.4 requires Option
|
||||
if $LLVM_CONFIG --components | grep -qw 'option'; then
|
||||
LLVM_COMPONENTS="${LLVM_COMPONENTS} option"
|
||||
fi
|
||||
# Current OpenCL/Clover and LLVM 3.5 require ObjCARCOpts and ProfileData
|
||||
if $LLVM_CONFIG --components | grep -qw 'objcarcopts'; then
|
||||
LLVM_COMPONENTS="${LLVM_COMPONENTS} objcarcopts"
|
||||
fi
|
||||
if $LLVM_CONFIG --components | grep -qw 'profiledata'; then
|
||||
LLVM_COMPONENTS="${LLVM_COMPONENTS} profiledata"
|
||||
fi
|
||||
fi
|
||||
DEFINES="${DEFINES} -DHAVE_LLVM=0x0$LLVM_VERSION_INT -DLLVM_VERSION_PATCH=$LLVM_VERSION_PATCH"
|
||||
MESA_LLVM=1
|
||||
@@ -1931,7 +1855,12 @@ radeon_llvm_check() {
|
||||
if test "x$enable_gallium_llvm" != "xyes"; then
|
||||
AC_MSG_ERROR([--enable-gallium-llvm is required when building $1])
|
||||
fi
|
||||
llvm_check_version_for "3" "4" "2" $1
|
||||
LLVM_REQUIRED_VERSION_MAJOR="3"
|
||||
LLVM_REQUIRED_VERSION_MINOR="4"
|
||||
LLVM_REQUIRED_VERSION_PATCH="2"
|
||||
if test "${LLVM_VERSION_INT}${LLVM_VERSION_PATCH}" -lt "${LLVM_REQUIRED_VERSION_MAJOR}0${LLVM_REQUIRED_VERSION_MINOR}${LLVM_REQUIRED_VERSION_PATCH}"; then
|
||||
AC_MSG_ERROR([LLVM $LLVM_REQUIRED_VERSION_MAJOR.$LLVM_REQUIRED_VERSION_MINOR.$LLVM_REQUIRED_VERSION_PATCH or newer is required for $1])
|
||||
fi
|
||||
if test true && $LLVM_CONFIG --targets-built | grep -qvw 'R600' ; then
|
||||
AC_MSG_ERROR([LLVM R600 Target not enabled. You can enable it when building the LLVM
|
||||
sources with the --enable-experimental-targets=R600
|
||||
@@ -2209,6 +2138,7 @@ AC_CONFIG_FILES([Makefile
|
||||
src/egl/drivers/dri2/Makefile
|
||||
src/egl/main/Makefile
|
||||
src/egl/main/egl.pc
|
||||
src/egl/wayland/Makefile
|
||||
src/egl/wayland/wayland-drm/Makefile
|
||||
src/egl/wayland/wayland-egl/Makefile
|
||||
src/egl/wayland/wayland-egl/wayland-egl.pc
|
||||
@@ -2216,7 +2146,9 @@ AC_CONFIG_FILES([Makefile
|
||||
src/gallium/auxiliary/Makefile
|
||||
src/gallium/auxiliary/pipe-loader/Makefile
|
||||
src/gallium/drivers/freedreno/Makefile
|
||||
src/gallium/drivers/galahad/Makefile
|
||||
src/gallium/drivers/i915/Makefile
|
||||
src/gallium/drivers/identity/Makefile
|
||||
src/gallium/drivers/ilo/Makefile
|
||||
src/gallium/drivers/llvmpipe/Makefile
|
||||
src/gallium/drivers/noop/Makefile
|
||||
@@ -2239,15 +2171,17 @@ AC_CONFIG_FILES([Makefile
|
||||
src/gallium/state_trackers/osmesa/Makefile
|
||||
src/gallium/state_trackers/va/Makefile
|
||||
src/gallium/state_trackers/vdpau/Makefile
|
||||
src/gallium/state_trackers/vega/Makefile
|
||||
src/gallium/state_trackers/xa/Makefile
|
||||
src/gallium/state_trackers/xvmc/Makefile
|
||||
src/gallium/targets/d3dadapter9/Makefile
|
||||
src/gallium/targets/d3dadapter9/d3d.pc
|
||||
src/gallium/targets/dri/Makefile
|
||||
src/gallium/targets/egl-static/Makefile
|
||||
src/gallium/targets/gbm/Makefile
|
||||
src/gallium/targets/libgl-xlib/Makefile
|
||||
src/gallium/targets/omx/Makefile
|
||||
src/gallium/targets/opencl/Makefile
|
||||
src/gallium/targets/opencl/mesa.icd
|
||||
src/gallium/targets/osmesa/Makefile
|
||||
src/gallium/targets/osmesa/osmesa.pc
|
||||
src/gallium/targets/pipe-loader/Makefile
|
||||
@@ -2265,8 +2199,10 @@ AC_CONFIG_FILES([Makefile
|
||||
src/gallium/winsys/radeon/drm/Makefile
|
||||
src/gallium/winsys/svga/drm/Makefile
|
||||
src/gallium/winsys/sw/dri/Makefile
|
||||
src/gallium/winsys/sw/fbdev/Makefile
|
||||
src/gallium/winsys/sw/kms-dri/Makefile
|
||||
src/gallium/winsys/sw/null/Makefile
|
||||
src/gallium/winsys/sw/wayland/Makefile
|
||||
src/gallium/winsys/sw/wrapper/Makefile
|
||||
src/gallium/winsys/sw/xlib/Makefile
|
||||
src/gallium/winsys/vc4/drm/Makefile
|
||||
@@ -2282,6 +2218,8 @@ AC_CONFIG_FILES([Makefile
|
||||
src/mapi/es1api/glesv1_cm.pc
|
||||
src/mapi/es2api/glesv2.pc
|
||||
src/mapi/glapi/gen/Makefile
|
||||
src/mapi/vgapi/Makefile
|
||||
src/mapi/vgapi/vg.pc
|
||||
src/mesa/Makefile
|
||||
src/mesa/gl.pc
|
||||
src/mesa/drivers/dri/dri.pc
|
||||
@@ -2315,6 +2253,7 @@ echo " includedir: $includedir"
|
||||
dnl API info
|
||||
echo ""
|
||||
echo " OpenGL: $enable_opengl (ES1: $enable_gles1 ES2: $enable_gles2)"
|
||||
echo " OpenVG: $enable_openvg"
|
||||
|
||||
dnl Driver info
|
||||
echo ""
|
||||
@@ -2406,7 +2345,6 @@ if test "x$MESA_LLVM" = x1; then
|
||||
echo " LLVM_CFLAGS: $LLVM_CFLAGS"
|
||||
echo " LLVM_CXXFLAGS: $LLVM_CXXFLAGS"
|
||||
echo " LLVM_CPPFLAGS: $LLVM_CPPFLAGS"
|
||||
echo " LLVM_LDFLAGS: $LLVM_LDFLAGS"
|
||||
echo ""
|
||||
fi
|
||||
echo " PYTHON2: $PYTHON2"
|
||||
|
124
docs/GL3.txt
124
docs/GL3.txt
@@ -18,26 +18,26 @@ are exposed in the 3.0 context as extensions.
|
||||
Feature Status
|
||||
----------------------------------------------------- ------------------------
|
||||
|
||||
GL 3.0, GLSL 1.30 --- all DONE: i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe
|
||||
GL 3.0, GLSL 1.30 --- all DONE: i965, nv50, nvc0, r600, radeonsi, llvmpipe (*), softpipe (*)
|
||||
|
||||
glBindFragDataLocation, glGetFragDataLocation DONE
|
||||
Conditional rendering (GL_NV_conditional_render) DONE ()
|
||||
Map buffer subranges (GL_ARB_map_buffer_range) DONE ()
|
||||
Clamping controls (GL_ARB_color_buffer_float) DONE ()
|
||||
Float textures, renderbuffers (GL_ARB_texture_float) DONE ()
|
||||
Conditional rendering (GL_NV_conditional_render) DONE (r300, swrast)
|
||||
Map buffer subranges (GL_ARB_map_buffer_range) DONE (r300, swrast)
|
||||
Clamping controls (GL_ARB_color_buffer_float) DONE (r300)
|
||||
Float textures, renderbuffers (GL_ARB_texture_float) DONE (r300)
|
||||
GL_EXT_packed_float DONE ()
|
||||
GL_EXT_texture_shared_exponent DONE ()
|
||||
GL_EXT_texture_shared_exponent DONE (swrast)
|
||||
Float depth buffers (GL_ARB_depth_buffer_float) DONE ()
|
||||
Framebuffer objects (GL_ARB_framebuffer_object) DONE ()
|
||||
Framebuffer objects (GL_ARB_framebuffer_object) DONE (r300, swrast)
|
||||
GL_ARB_half_float_pixel DONE (all drivers)
|
||||
GL_ARB_half_float_vertex DONE ()
|
||||
GL_ARB_half_float_vertex DONE (r300, swrast)
|
||||
GL_EXT_texture_integer DONE ()
|
||||
GL_EXT_texture_array DONE ()
|
||||
Per-buffer blend and masks (GL_EXT_draw_buffers2) DONE ()
|
||||
GL_EXT_texture_compression_rgtc DONE ()
|
||||
GL_ARB_texture_rg DONE ()
|
||||
Per-buffer blend and masks (GL_EXT_draw_buffers2) DONE (swrast)
|
||||
GL_EXT_texture_compression_rgtc DONE (r300, swrast)
|
||||
GL_ARB_texture_rg DONE (r300, swrast)
|
||||
Transform feedback (GL_EXT_transform_feedback) DONE ()
|
||||
Vertex array objects (GL_ARB_vertex_array_object) DONE ()
|
||||
Vertex array objects (GL_ARB_vertex_array_object) DONE (all drivers)
|
||||
sRGB framebuffer format (GL_EXT_framebuffer_sRGB) DONE ()
|
||||
glClearBuffer commands DONE
|
||||
glGetStringi command DONE
|
||||
@@ -45,7 +45,7 @@ GL 3.0, GLSL 1.30 --- all DONE: i965, nv50, nvc0, r600, radeonsi, llvmpipe, soft
|
||||
glVertexAttribI commands DONE
|
||||
Depth format cube textures DONE ()
|
||||
GLX_ARB_create_context (GLX 1.4 is required) DONE
|
||||
Multisample anti-aliasing DONE (llvmpipe (*), softpipe (*))
|
||||
Multisample anti-aliasing DONE (r300)
|
||||
|
||||
(*) llvmpipe and softpipe have fake Multisample anti-aliasing support
|
||||
|
||||
@@ -53,28 +53,28 @@ GL 3.0, GLSL 1.30 --- all DONE: i965, nv50, nvc0, r600, radeonsi, llvmpipe, soft
|
||||
GL 3.1, GLSL 1.40 --- all DONE: i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe
|
||||
|
||||
Forward compatible context support/deprecations DONE ()
|
||||
Instanced drawing (GL_ARB_draw_instanced) DONE ()
|
||||
Buffer copying (GL_ARB_copy_buffer) DONE ()
|
||||
Primitive restart (GL_NV_primitive_restart) DONE ()
|
||||
Instanced drawing (GL_ARB_draw_instanced) DONE (swrast)
|
||||
Buffer copying (GL_ARB_copy_buffer) DONE (r300, swrast)
|
||||
Primitive restart (GL_NV_primitive_restart) DONE (r300)
|
||||
16 vertex texture image units DONE ()
|
||||
Texture buffer objs (GL_ARB_texture_buffer_object) DONE for OpenGL 3.1 contexts ()
|
||||
Rectangular textures (GL_ARB_texture_rectangle) DONE ()
|
||||
Uniform buffer objs (GL_ARB_uniform_buffer_object) DONE ()
|
||||
Signed normalized textures (GL_EXT_texture_snorm) DONE ()
|
||||
Rectangular textures (GL_ARB_texture_rectangle) DONE (r300, swrast)
|
||||
Uniform buffer objs (GL_ARB_uniform_buffer_object) DONE (swrast)
|
||||
Signed normalized textures (GL_EXT_texture_snorm) DONE (r300)
|
||||
|
||||
|
||||
GL 3.2, GLSL 1.50 --- all DONE: i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe
|
||||
|
||||
Core/compatibility profiles DONE
|
||||
Geometry shaders DONE ()
|
||||
BGRA vertex order (GL_ARB_vertex_array_bgra) DONE ()
|
||||
Base vertex offset(GL_ARB_draw_elements_base_vertex) DONE ()
|
||||
Frag shader coord (GL_ARB_fragment_coord_conventions) DONE ()
|
||||
Provoking vertex (GL_ARB_provoking_vertex) DONE ()
|
||||
BGRA vertex order (GL_ARB_vertex_array_bgra) DONE (r300, swrast)
|
||||
Base vertex offset(GL_ARB_draw_elements_base_vertex) DONE (r300, swrast)
|
||||
Frag shader coord (GL_ARB_fragment_coord_conventions) DONE (r300, swrast)
|
||||
Provoking vertex (GL_ARB_provoking_vertex) DONE (r300, swrast)
|
||||
Seamless cubemaps (GL_ARB_seamless_cube_map) DONE ()
|
||||
Multisample textures (GL_ARB_texture_multisample) DONE ()
|
||||
Frag depth clamp (GL_ARB_depth_clamp) DONE ()
|
||||
Fence objects (GL_ARB_sync) DONE ()
|
||||
Frag depth clamp (GL_ARB_depth_clamp) DONE (swrast)
|
||||
Fence objects (GL_ARB_sync) DONE (r300, swrast)
|
||||
GLX_ARB_create_context_profile DONE
|
||||
|
||||
|
||||
@@ -82,52 +82,52 @@ GL 3.3, GLSL 3.30 --- all DONE: i965, nv50, nvc0, r600, radeonsi, llvmpipe, soft
|
||||
|
||||
GL_ARB_blend_func_extended DONE ()
|
||||
GL_ARB_explicit_attrib_location DONE (all drivers that support GLSL)
|
||||
GL_ARB_occlusion_query2 DONE ()
|
||||
GL_ARB_occlusion_query2 DONE (r300, swrast)
|
||||
GL_ARB_sampler_objects DONE (all drivers)
|
||||
GL_ARB_shader_bit_encoding DONE ()
|
||||
GL_ARB_texture_rgb10_a2ui DONE ()
|
||||
GL_ARB_texture_swizzle DONE ()
|
||||
GL_ARB_texture_swizzle DONE (r300, swrast)
|
||||
GL_ARB_timer_query DONE ()
|
||||
GL_ARB_instanced_arrays DONE ()
|
||||
GL_ARB_instanced_arrays DONE (r300)
|
||||
GL_ARB_vertex_type_2_10_10_10_rev DONE ()
|
||||
|
||||
|
||||
GL 4.0, GLSL 4.00:
|
||||
|
||||
GL_ARB_draw_buffers_blend DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
|
||||
GL_ARB_draw_indirect DONE (i965, nvc0, r600, radeonsi, llvmpipe, softpipe)
|
||||
GL_ARB_draw_indirect DONE (i965, nvc0, radeonsi, llvmpipe, softpipe)
|
||||
GL_ARB_gpu_shader5 DONE (i965, nvc0)
|
||||
- 'precise' qualifier DONE
|
||||
- Dynamically uniform sampler array indices DONE (r600)
|
||||
- Dynamically uniform UBO array indices DONE (r600)
|
||||
- Implicit signed -> unsigned conversions DONE
|
||||
- Fused multiply-add DONE ()
|
||||
- Packing/bitfield/conversion functions DONE (r600, radeonsi)
|
||||
- Packing/bitfield/conversion functions DONE (r600)
|
||||
- Enhanced textureGather DONE (r600, radeonsi)
|
||||
- Geometry shader instancing DONE (r600)
|
||||
- Geometry shader multiple streams DONE ()
|
||||
- Enhanced per-sample shading DONE (r600, radeonsi)
|
||||
- Enhanced per-sample shading DONE (r600)
|
||||
- Interpolation functions DONE (r600)
|
||||
- New overload resolution rules DONE
|
||||
GL_ARB_gpu_shader_fp64 DONE (nvc0, softpipe)
|
||||
GL_ARB_gpu_shader_fp64 started (Dave)
|
||||
GL_ARB_sample_shading DONE (i965, nv50, nvc0, r600, radeonsi)
|
||||
GL_ARB_shader_subroutine started (Dave)
|
||||
GL_ARB_shader_subroutine not started
|
||||
GL_ARB_tessellation_shader started (Chris, Ilia)
|
||||
GL_ARB_texture_buffer_object_rgb32 DONE (i965, nvc0, r600, radeonsi, llvmpipe, softpipe)
|
||||
GL_ARB_texture_cube_map_array DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
|
||||
GL_ARB_texture_gather DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe)
|
||||
GL_ARB_texture_gather DONE (i965, nv50, nvc0, r600, radeonsi)
|
||||
GL_ARB_texture_query_lod DONE (i965, nv50, nvc0, r600, radeonsi)
|
||||
GL_ARB_transform_feedback2 DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
|
||||
GL_ARB_transform_feedback3 DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
|
||||
GL_ARB_transform_feedback2 DONE (i965, nv50, nvc0, r600, radeonsi)
|
||||
GL_ARB_transform_feedback3 DONE (i965, nv50, nvc0, r600, radeonsi)
|
||||
|
||||
|
||||
GL 4.1, GLSL 4.10:
|
||||
|
||||
GL_ARB_ES2_compatibility DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
|
||||
GL_ARB_ES2_compatibility DONE (i965, nv50, nvc0, r300, r600, radeonsi, llvmpipe, softpipe)
|
||||
GL_ARB_get_program_binary DONE (0 binary formats)
|
||||
GL_ARB_separate_shader_objects DONE (all drivers)
|
||||
GL_ARB_shader_precision started (Micah)
|
||||
GL_ARB_vertex_attrib_64bit DONE (nvc0, softpipe)
|
||||
GL_ARB_vertex_attrib_64bit started (Dave)
|
||||
GL_ARB_viewport_array DONE (i965, nv50, nvc0, r600, llvmpipe)
|
||||
|
||||
|
||||
@@ -137,13 +137,12 @@ GL 4.2, GLSL 4.20:
|
||||
GL_ARB_compressed_texture_pixel_storage DONE (all drivers)
|
||||
GL_ARB_shader_atomic_counters DONE (i965)
|
||||
GL_ARB_texture_storage DONE (all drivers)
|
||||
GL_ARB_transform_feedback_instanced DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
|
||||
GL_ARB_transform_feedback_instanced DONE (i965, nv50, nvc0, r600, radeonsi)
|
||||
GL_ARB_base_instance DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
|
||||
GL_ARB_shader_image_load_store in progress (curro)
|
||||
GL_ARB_conservative_depth DONE (all drivers that support GLSL 1.30)
|
||||
GL_ARB_shading_language_420pack DONE (all drivers that support GLSL 1.30)
|
||||
GL_ARB_shading_language_packing DONE (all drivers)
|
||||
GL_ARB_internalformat_query DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
|
||||
GL_ARB_internalformat_query DONE (i965, nv50, nvc0, r300, r600, radeonsi, llvmpipe, softpipe)
|
||||
GL_ARB_map_buffer_alignment DONE (all drivers)
|
||||
|
||||
|
||||
@@ -160,82 +159,63 @@ GL 4.3, GLSL 4.30:
|
||||
GL_ARB_framebuffer_no_attachments not started
|
||||
GL_ARB_internalformat_query2 not started
|
||||
GL_ARB_invalidate_subdata DONE (all drivers)
|
||||
GL_ARB_multi_draw_indirect DONE (i965, nvc0, r600, radeonsi, llvmpipe, softpipe)
|
||||
GL_ARB_program_interface_query DONE (all drivers)
|
||||
GL_ARB_multi_draw_indirect DONE (i965, nvc0, radeonsi, llvmpipe, softpipe)
|
||||
GL_ARB_program_interface_query not started
|
||||
GL_ARB_robust_buffer_access_behavior not started
|
||||
GL_ARB_shader_image_size in progress (Martin Peres)
|
||||
GL_ARB_shader_image_size not started
|
||||
GL_ARB_shader_storage_buffer_object not started
|
||||
GL_ARB_stencil_texturing DONE (i965/gen8+, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
|
||||
GL_ARB_texture_buffer_range DONE (nv50, nvc0, i965, r600, radeonsi, llvmpipe)
|
||||
GL_ARB_texture_query_levels DONE (all drivers that support GLSL 1.30)
|
||||
GL_ARB_texture_storage_multisample DONE (all drivers that support GL_ARB_texture_multisample)
|
||||
GL_ARB_texture_view DONE (i965, nv50, nvc0, llvmpipe, softpipe)
|
||||
GL_ARB_texture_view DONE (i965, nv50, nvc0)
|
||||
GL_ARB_vertex_attrib_binding DONE (all drivers)
|
||||
|
||||
|
||||
GL 4.4, GLSL 4.40:
|
||||
|
||||
GL_MAX_VERTEX_ATTRIB_STRIDE DONE (all drivers)
|
||||
GL_ARB_buffer_storage DONE (i965, nv50, nvc0, r600, radeonsi)
|
||||
GL_ARB_buffer_storage DONE (i965, nv30, nv50, nvc0, r300, r600, radeonsi)
|
||||
GL_ARB_clear_texture DONE (i965)
|
||||
GL_ARB_enhanced_layouts not started
|
||||
GL_ARB_multi_bind DONE (all drivers)
|
||||
GL_ARB_query_buffer_object not started
|
||||
GL_ARB_texture_mirror_clamp_to_edge DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
|
||||
GL_ARB_texture_stencil8 DONE (nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
|
||||
GL_ARB_texture_mirror_clamp_to_edge DONE (i965, nv30, nv50, nvc0, r300, r600, radeonsi, swrast, llvmpipe, softpipe)
|
||||
GL_ARB_texture_stencil8 not started
|
||||
GL_ARB_vertex_type_10f_11f_11f_rev DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
|
||||
|
||||
GL 4.5, GLSL 4.50:
|
||||
|
||||
GL_ARB_ES3_1_compatibility not started
|
||||
GL_ARB_clip_control DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
|
||||
GL_ARB_clip_control DONE (nv50, nvc0, r300, r600, radeonsi, llvmpipe, softpipe)
|
||||
GL_ARB_conditional_render_inverted DONE (i965, nv50, nvc0, llvmpipe, softpipe)
|
||||
GL_ARB_cull_distance not started
|
||||
GL_ARB_derivative_control DONE (i965, nv50, nvc0, r600)
|
||||
GL_ARB_direct_state_access DONE (all drivers)
|
||||
- Transform Feedback object DONE
|
||||
- Buffer object DONE
|
||||
- Framebuffer object DONE
|
||||
- Renderbuffer object DONE
|
||||
- Texture object DONE
|
||||
- Vertex array object DONE
|
||||
- Sampler object DONE
|
||||
- Program Pipeline object DONE
|
||||
- Query object DONE (will require changes when GL_ARB_query_buffer_object lands)
|
||||
GL_ARB_direct_state_access not started
|
||||
GL_ARB_get_texture_sub_image started (Brian Paul)
|
||||
GL_ARB_shader_texture_image_samples not started
|
||||
GL_ARB_texture_barrier DONE (nv50, nvc0, r600, radeonsi)
|
||||
GL_ARB_texture_barrier DONE (nv50, nvc0, r300, r600, radeonsi)
|
||||
GL_KHR_context_flush_control DONE (all - but needs GLX/EXT extension to be useful)
|
||||
GL_KHR_robust_buffer_access_behavior not started
|
||||
GL_KHR_robustness 90% done (the ARB variant)
|
||||
GL_EXT_shader_integer_mix DONE (all drivers that support GLSL)
|
||||
|
||||
These are the extensions cherry-picked to make GLES 3.1
|
||||
GLES3.1, GLSL ES 3.1
|
||||
GL_ARB_arrays_of_arrays started (Timothy)
|
||||
GL_ARB_compute_shader in progress (jljusten)
|
||||
GL_ARB_draw_indirect DONE (i965, nvc0, r600, radeonsi, llvmpipe, softpipe)
|
||||
GL_ARB_explicit_uniform_location DONE (all drivers that support GLSL)
|
||||
GL_ARB_framebuffer_no_attachments not started
|
||||
GL_ARB_program_interface_query DONE (all drivers)
|
||||
GL_ARB_program_interface_query not started
|
||||
GL_ARB_shader_atomic_counters DONE (i965)
|
||||
GL_ARB_shader_image_load_store in progress (curro)
|
||||
GL_ARB_shader_image_size in progress (Martin Peres)
|
||||
GL_ARB_shader_storage_buffer_object not started
|
||||
GL_ARB_shading_language_packing DONE (all drivers)
|
||||
GL_ARB_separate_shader_objects DONE (all drivers)
|
||||
GL_ARB_stencil_texturing DONE (i965/gen8+, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
|
||||
Multisample textures (GL_ARB_texture_multisample) DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
|
||||
GL_ARB_texture_storage_multisample DONE (all drivers that support GL_ARB_texture_multisample)
|
||||
GL_ARB_vertex_attrib_binding DONE (all drivers)
|
||||
GS5 Enhanced textureGather DONE (i965, nvc0, r600, radeonsi)
|
||||
GS5 Packing/bitfield/conversion functions DONE (i965, nvc0, r600, radeonsi)
|
||||
GS5 Packing/bitfield/conversion functions DONE (i965, nvc0, r600)
|
||||
GL_EXT_shader_integer_mix DONE (all drivers that support GLSL)
|
||||
|
||||
Additional functions not covered above:
|
||||
glMemoryBarrierByRegion
|
||||
glGetTexLevelParameter[fi]v - needs updates to restrict to GLES enums
|
||||
glGetBooleani_v - needs updates to restrict to GLES enums
|
||||
|
||||
More info about these features and the work involved can be found at
|
||||
http://dri.freedesktop.org/wiki/MissingFunctionality
|
||||
|
@@ -11,6 +11,10 @@ no longer shipped or supported.
|
||||
|
||||
Run
|
||||
|
||||
scons osmesa mesagdi
|
||||
|
||||
to build classic mesa Windows GDI drivers; or
|
||||
|
||||
scons libgl-gdi
|
||||
|
||||
to build gallium based GDI driver.
|
||||
|
@@ -103,7 +103,7 @@ Mesa Version History
|
||||
- Stencil-related functions now work in display lists
|
||||
Changes:
|
||||
- renamed aux.h as glaux.h (MS-DOS names can't start with aux)
|
||||
- most filenames are in 8.3 format to accommodate MS-DOS
|
||||
- most filenames are in 8.3 format to accomodate MS-DOS
|
||||
- use GLubytes to store arrays of colors instead of GLints
|
||||
|
||||
1.2.2 August 2, 1995
|
||||
@@ -1007,7 +1007,7 @@ Mesa Version History
|
||||
- glGetTexImage was using pixel unpacking instead of packing params
|
||||
- auto-mipmap generation for cube maps was incorrect
|
||||
Changes:
|
||||
- max texture units reduced to six to accommodate texture rectangles
|
||||
- max texture units reduced to six to accomodate texture rectangles
|
||||
- removed unfinished GL_MESA_sprite_point extension code
|
||||
|
||||
|
||||
|
@@ -61,6 +61,7 @@
|
||||
<li><a href="shading.html" target="_parent">Shading Language</a>
|
||||
<li><a href="egl.html" target="_parent">EGL</a>
|
||||
<li><a href="opengles.html" target="_parent">OpenGL ES</a>
|
||||
<li><a href="openvg.html" target="_parent">OpenVG / Vega</a>
|
||||
<li><a href="envvars.html" target="_parent">Environment Variables</a>
|
||||
<li><a href="osmesa.html" target="_parent">Off-Screen Rendering</a>
|
||||
<li><a href="debugging.html" target="_parent">Debugging Tips</a>
|
||||
|
@@ -204,8 +204,9 @@ terribly relevant.</p>
|
||||
few preprocessor defines.</p>
|
||||
|
||||
<ul>
|
||||
<li>If <tt>GLX_USE_TLS</tt> is defined, method #3 is used.</li>
|
||||
<li>If <tt>HAVE_PTHREAD</tt> is defined, method #2 is used.</li>
|
||||
<li>If <tt>GLX_USE_TLS</tt> is defined, method #4 is used.</li>
|
||||
<li>If <tt>HAVE_PTHREAD</tt> is defined, method #3 is used.</li>
|
||||
<li>If <tt>WIN32_THREADS</tt> is defined, method #2 is used.</li>
|
||||
<li>If none of the preceding are defined, method #1 is used.</li>
|
||||
</ul>
|
||||
|
||||
|
@@ -88,11 +88,8 @@ types such as <code>EGLNativeDisplayType</code> or
|
||||
<code>EGLNativeWindowType</code> defined for.</p>
|
||||
|
||||
<p>The available platforms are <code>x11</code>, <code>drm</code>,
|
||||
<code>wayland</code>, <code>null</code>, <code>android</code>,
|
||||
<code>haiku</code>, and <code>gdi</code>. The <code>android</code> platform
|
||||
can only be built as a system component, part of AOSP, while the
|
||||
<code>haiku</code> and <code>gdi</code> platforms can only be built with SCons.
|
||||
Unless for special needs, the build system should
|
||||
<code>fbdev</code>, and <code>gdi</code>. The <code>gdi</code> platform can
|
||||
only be built with SCons. Unless for special needs, the build system should
|
||||
select the right platforms automatically.</p>
|
||||
|
||||
</dd>
|
||||
@@ -115,6 +112,13 @@ is required if applications mix OpenGL and OpenGL ES.</p>
|
||||
|
||||
</dd>
|
||||
|
||||
<dt><code>--enable-openvg</code></dt>
|
||||
<dd>
|
||||
|
||||
<p>OpenVG must be explicitly enabled by this option.</p>
|
||||
|
||||
</dd>
|
||||
|
||||
</dl>
|
||||
|
||||
<h2>Use EGL</h2>
|
||||
@@ -183,6 +187,14 @@ probably required only for some of the demos found in mesa/demo repository.</p>
|
||||
values are: <code>debug</code>, <code>info</code>, <code>warning</code>, and
|
||||
<code>fatal</code>.</p>
|
||||
|
||||
</dd>
|
||||
|
||||
<dt><code>EGL_SOFTWARE</code></dt>
|
||||
<dd>
|
||||
|
||||
<p>For drivers that support both hardware and software rendering, setting this
|
||||
variable to true forces the use of software rendering.</p>
|
||||
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
@@ -200,15 +212,38 @@ the X server directly using (XCB-)DRI2 protocol.</p>
|
||||
|
||||
</dd>
|
||||
|
||||
<dt><code>egl_gallium</code></dt>
|
||||
<dd>
|
||||
|
||||
<p>This driver is based on Gallium3D. It supports all rendering APIs and
|
||||
hardware supported by Gallium3D. It is the only driver that supports OpenVG.
|
||||
The supported platforms are X11, DRM, FBDEV, and GDI.</p>
|
||||
|
||||
<p>This driver comes with its own hardware drivers
|
||||
(<code>pipe_<hw></code>) and client API modules
|
||||
(<code>st_<api></code>).</p>
|
||||
|
||||
</dd>
|
||||
|
||||
<h2>Packaging</h2>
|
||||
|
||||
<p>The ABI between the main library and its drivers are not stable. Nor is
|
||||
there a plan to stabilize it at the moment.</p>
|
||||
there a plan to stabilize it at the moment. Of the EGL drivers,
|
||||
<code>egl_gallium</code> has its own hardware drivers and client API modules.
|
||||
They are considered internal to <code>egl_gallium</code> and there is also no
|
||||
stable ABI between them. These should be kept in mind when packaging for
|
||||
distribution.</p>
|
||||
|
||||
<p>Generally, <code>egl_dri2</code> is preferred over <code>egl_gallium</code>
|
||||
when the system already has DRI drivers. As <code>egl_gallium</code> is loaded
|
||||
before <code>egl_dri2</code> when both are available, <code>egl_gallium</code>
|
||||
is disabled by default.</p>
|
||||
|
||||
<h2>Developers</h2>
|
||||
|
||||
<p>The sources of the main library and drivers can be found at
|
||||
<code>src/egl/</code>.</p>
|
||||
<p>The sources of the main library and the classic drivers can be found at
|
||||
<code>src/egl/</code>. The sources of the <code>egl</code> state tracker can
|
||||
be found at <code>src/gallium/state_trackers/egl/</code>.</p>
|
||||
|
||||
<h3>Lifetime of Display Resources</h3>
|
||||
|
||||
|
@@ -34,7 +34,6 @@ sometimes be useful for debugging end-user issues.
|
||||
<li>LIBGL_NO_DRAWARRAYS - if set do not use DrawArrays GLX protocol (for debugging)
|
||||
<li>LIBGL_SHOW_FPS - print framerate to stdout based on the number of glXSwapBuffers
|
||||
calls per second.
|
||||
<li>LIBGL_DRI3_DISABLE - disable DRI3 if set (the value does not matter)
|
||||
</ul>
|
||||
|
||||
|
||||
|
@@ -327,6 +327,19 @@ Basically, applying a translation of (0.375, 0.375, 0.0) to your coordinates
|
||||
will fix the problem.
|
||||
</p>
|
||||
|
||||
<h2>3.6 How can I change the maximum framebuffer size in Mesa's
|
||||
<tt>swrast</tt> backend?</h2>
|
||||
<p>
|
||||
These can be overridden by using the <tt>--with-max-width</tt> and
|
||||
<tt>--with-max-height</tt> options. The two need not be equal.
|
||||
</p><p>
|
||||
Do note that Mesa uses these values to size some internal buffers,
|
||||
so increasing these sizes will cause Mesa to require additional
|
||||
memory. Furthermore, increasing these limits beyond <tt>4096</tt>
|
||||
may introduce rasterization artifacts; see the leading comments in
|
||||
<tt>src/mesa/swrast/s_tritemp.h</tt>.
|
||||
</p>
|
||||
|
||||
<br>
|
||||
<br>
|
||||
|
||||
|
101
docs/index.html
101
docs/index.html
@@ -16,93 +16,6 @@
|
||||
|
||||
<h1>News</h1>
|
||||
|
||||
<h2>May 11, 2015</h2>
|
||||
<p>
|
||||
<a href="relnotes/10.5.5.html">Mesa 10.5.5</a> is released.
|
||||
This is a bug-fix release.
|
||||
</p>
|
||||
|
||||
<h2>April 24, 2015</h2>
|
||||
<p>
|
||||
<a href="relnotes/10.5.4.html">Mesa 10.5.4</a> is released.
|
||||
This is a bug-fix release.
|
||||
</p>
|
||||
|
||||
<h2>April 12, 2015</h2>
|
||||
<p>
|
||||
<a href="relnotes/10.5.3.html">Mesa 10.5.3</a> is released.
|
||||
This is a bug-fix release.
|
||||
</p>
|
||||
|
||||
<h2>March 28, 2015</h2>
|
||||
<p>
|
||||
<a href="relnotes/10.5.2.html">Mesa 10.5.2</a> is released.
|
||||
This is a bug-fix release.
|
||||
</p>
|
||||
|
||||
<h2>March 20, 2015</h2>
|
||||
<p>
|
||||
<a href="relnotes/10.4.7.html">Mesa 10.4.7</a> is released.
|
||||
This is a bug-fix release.
|
||||
</p>
|
||||
|
||||
<h2>March 13, 2015</h2>
|
||||
<p>
|
||||
<a href="relnotes/10.5.1.html">Mesa 10.5.1</a> is released.
|
||||
This is a bug-fix release.
|
||||
</p>
|
||||
|
||||
<h2>March 06, 2015</h2>
|
||||
<p>
|
||||
<a href="relnotes/10.5.0.html">Mesa 10.5.0</a> is released. This is a new
|
||||
development release. See the release notes for more information about
|
||||
the release.
|
||||
</p>
|
||||
|
||||
<h2>March 06, 2015</h2>
|
||||
<p>
|
||||
<a href="relnotes/10.4.6.html">Mesa 10.4.6</a> is released.
|
||||
This is a bug-fix release.
|
||||
</p>
|
||||
|
||||
<h2>February 21, 2015</h2>
|
||||
<p>
|
||||
<a href="relnotes/10.4.5.html">Mesa 10.4.5</a> is released.
|
||||
This is a bug-fix release.
|
||||
</p>
|
||||
|
||||
<h2>February 06, 2015</h2>
|
||||
<p>
|
||||
<a href="relnotes/10.4.4.html">Mesa 10.4.4</a> is released.
|
||||
This is a bug-fix release.
|
||||
</p>
|
||||
|
||||
<h2>January 24, 2015</h2>
|
||||
<p>
|
||||
<a href="relnotes/10.4.3.html">Mesa 10.4.3</a> is released.
|
||||
This is a bug-fix release.
|
||||
</p>
|
||||
|
||||
<h2>January 12, 2015</h2>
|
||||
<p>
|
||||
<a href="relnotes/10.3.7.html">Mesa 10.3.7</a>
|
||||
and <a href="relnotes/10.4.2.html">Mesa 10.4.2</a> are released.
|
||||
|
||||
These are bug-fix releases from the 10.3 and 10.4 branches, respectively.
|
||||
<br>
|
||||
NOTE: It is anticipated that 10.3.7 will be the final release in the 10.3
|
||||
series. Users of 10.3 are encouraged to migrate to the 10.4 series in order
|
||||
to obtain future fixes.
|
||||
</p>
|
||||
|
||||
<h2>December 29, 2014</h2>
|
||||
<p>
|
||||
<a href="relnotes/10.3.6.html">Mesa 10.3.6</a>
|
||||
and <a href="relnotes/10.4.1.html">Mesa 10.4.1</a> are released.
|
||||
|
||||
These are bug-fix releases from the 10.3 and 10.4 branches, respectively.
|
||||
</p>
|
||||
|
||||
<h2>December 14, 2014</h2>
|
||||
<p>
|
||||
<a href="relnotes/10.4.html">Mesa 10.4</a> is released. This is a new
|
||||
@@ -110,18 +23,6 @@ development release. See the release notes for more information about
|
||||
the release.
|
||||
</p>
|
||||
|
||||
<h2>December 5, 2014</h2>
|
||||
<p>
|
||||
<a href="relnotes/10.3.5.html">Mesa 10.3.5</a> is released.
|
||||
This is a bug-fix release.
|
||||
</p>
|
||||
|
||||
<h2>November 21, 2014</h2>
|
||||
<p>
|
||||
<a href="relnotes/10.3.4.html">Mesa 10.3.4</a> is released.
|
||||
This is a bug-fix release.
|
||||
</p>
|
||||
|
||||
<h2>November 8, 2014</h2>
|
||||
<p>
|
||||
<a href="relnotes/10.3.3.html">Mesa 10.3.3</a> is released.
|
||||
@@ -1372,7 +1273,7 @@ The <a href="faq.html">Mesa FAQ</a> has been rewritten.
|
||||
- glGetTexImage was using pixel unpacking instead of packing params
|
||||
- auto-mipmap generation for cube maps was incorrect
|
||||
Changes:
|
||||
- max texture units reduced to six to accommodate texture rectangles
|
||||
- max texture units reduced to six to accomodate texture rectangles
|
||||
- removed unfinished GL_MESA_sprite_point extension code
|
||||
</pre>
|
||||
|
||||
|
@@ -38,10 +38,6 @@
|
||||
Version 2.6.4 or later should work.
|
||||
</li>
|
||||
<br>
|
||||
<li><a href="http://www.makotemplates.org/">Python Mako module</a> -
|
||||
Python Mako module is required. Version 0.7.3 or later should work.
|
||||
</li>
|
||||
</br>
|
||||
<li><a href="http://www.scons.org/">SCons</a> is required for building on
|
||||
Windows and optional for Linux (it's an alternative to autoconf/automake.)
|
||||
</li>
|
||||
@@ -55,8 +51,8 @@ Versions 2.5.35 and 2.4.1, respectively, (or later) should work.
|
||||
<br>
|
||||
On Windows with MinGW, install flex and bison with:
|
||||
<pre>mingw-get install msys-flex msys-bison</pre>
|
||||
For MSVC on Windows, install
|
||||
<a href="http://winflexbison.sourceforge.net/">Win flex-bison</a>.
|
||||
For MSVC on Windows, you can find flex/bison programs on the
|
||||
<a href="ftp://ftp.freedesktop.org/pub/mesa/windows-utils/">Mesa ftp site</a>.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
@@ -82,7 +78,7 @@ the needed dependencies:
|
||||
<pre>
|
||||
sudo yum install flex bison imake libtool xorg-x11-proto-devel libdrm-devel \
|
||||
gcc-c++ xorg-x11-server-devel libXi-devel libXmu-devel libXdamage-devel git \
|
||||
expat-devel llvm-devel python-mako
|
||||
expat-devel llvm-devel
|
||||
</pre>
|
||||
|
||||
|
||||
@@ -127,13 +123,14 @@ by -debug for debug builds.
|
||||
To build Mesa with SCons for Windows on Linux using the MinGW crosscompiler toolchain do
|
||||
</p>
|
||||
<pre>
|
||||
scons platform=windows toolchain=crossmingw machine=x86 libgl-gdi
|
||||
scons platform=windows toolchain=crossmingw machine=x86 mesagdi libgl-gdi
|
||||
</pre>
|
||||
<p>
|
||||
This will create:
|
||||
</p>
|
||||
<ul>
|
||||
<li>build/windows-x86-debug/gallium/targets/libgl-gdi/opengl32.dll — Mesa + Gallium + softpipe (or llvmpipe), binary compatible with Windows's opengl32.dll
|
||||
<li>build/windows-x86-debug/mesa/drivers/windows/gdi/opengl32.dll — Mesa + swrast, binary compatible with Windows's opengl32.dll
|
||||
<li>build/windows-x86-debug/gallium/targets/libgl-gdi/opengl32.dll — Mesa + Gallium + softpipe, binary compatible with Windows's opengl32.dll
|
||||
</ul>
|
||||
<p>
|
||||
Put them all in the same directory to test them.
|
||||
|
@@ -49,7 +49,7 @@ stderr if the LIBGL_DEBUG environment variable is defined.
|
||||
libGL.so is thread safe. The overhead of thread safety for common,
|
||||
single-thread clients is negligible. However, the overhead of thread
|
||||
safety for multi-threaded clients is significant. Each GL API call
|
||||
requires two calls to pthread_get_specific() which can noticeably
|
||||
requires two calls to pthread_get_specific() which can noticably
|
||||
impact performance. Warning: libGL.so is thread safe but individual
|
||||
DRI drivers may not be. Please consult the documentation for a driver
|
||||
to learn if it is thread safe.
|
||||
|
@@ -58,37 +58,15 @@ It's the fastest software rasterizer for Mesa.
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
For Windows you will need to build LLVM from source with MSVC or MINGW
|
||||
(either natively or through cross compilers) and CMake, and set the LLVM
|
||||
environment variable to the directory you installed it to.
|
||||
For Windows you will need to build LLVM from source with MSVC or MINGW
|
||||
(either natively or through cross compilers) and CMake, and set the LLVM
|
||||
environment variable to the directory you installed it to.
|
||||
|
||||
LLVM will be statically linked, so when building on MSVC it needs to be
|
||||
built with a matching CRT as Mesa, and you'll need to pass
|
||||
<code>-DLLVM_USE_CRT_xxx=yyy</code> as described below.
|
||||
</p>
|
||||
-DLLVM_USE_CRT_RELEASE=MTd for debug and checked builds,
|
||||
-DLLVM_USE_CRT_RELEASE=MTd for profile and release builds.
|
||||
|
||||
<table border="1">
|
||||
<tr>
|
||||
<th rowspan="2">LLVM build-type</th>
|
||||
<th colspan="2" align="center">Mesa build-type</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>debug,checked</th>
|
||||
<th>release,profile</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Debug</th>
|
||||
<td><code>-DLLVM_USE_CRT_DEBUG=MTd</code></td>
|
||||
<td><code>-DLLVM_USE_CRT_DEBUG=MT</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Release</th>
|
||||
<td><code>-DLLVM_USE_CRT_RELEASE=MTd</code></td>
|
||||
<td><code>-DLLVM_USE_CRT_RELEASE=MT</code></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<p>
|
||||
You can build only the x86 target by passing -DLLVM_TARGETS_TO_BUILD=X86
|
||||
to cmake.
|
||||
</p>
|
||||
|
59
docs/openvg.html
Normal file
59
docs/openvg.html
Normal file
@@ -0,0 +1,59 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>OpenVG State Tracker</title>
|
||||
<link rel="stylesheet" type="text/css" href="mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
<h1>The Mesa 3D Graphics Library</h1>
|
||||
</div>
|
||||
|
||||
<iframe src="contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>OpenVG State Tracker</h1>
|
||||
|
||||
<p>
|
||||
The current version of the OpenVG state tracker implements OpenVG 1.1.
|
||||
</p>
|
||||
<p>
|
||||
More information about OpenVG can be found at
|
||||
<a href="http://www.khronos.org/openvg/">
|
||||
http://www.khronos.org/openvg/</a> .
|
||||
</p>
|
||||
<p>
|
||||
The OpenVG state tracker depends on the Gallium architecture and a working EGL implementation.
|
||||
Please refer to <a href="egl.html">Mesa EGL</a> for more information about EGL.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>Building the library</h2>
|
||||
<ol>
|
||||
<li>Run <code>configure</code> with <code>--enable-openvg</code> and
|
||||
<code>--enable-gallium-egl</code>. If you do not need OpenGL, you can add
|
||||
<code>--disable-opengl</code> to save the compilation time.</li>
|
||||
|
||||
<li>Build and install Mesa as usual.</li>
|
||||
</ol>
|
||||
|
||||
<h3>Sample build</h3>
|
||||
A sample build looks as follows:
|
||||
<pre>
|
||||
$ ./configure --disable-opengl --enable-openvg --enable-gallium-egl
|
||||
$ make
|
||||
$ make install
|
||||
</pre>
|
||||
|
||||
<p>It will install <code>libOpenVG.so</code>, <code>libEGL.so</code>, and one
|
||||
or more EGL drivers.</p>
|
||||
|
||||
<h2>OpenVG Demos</h2>
|
||||
|
||||
<p>OpenVG demos can be found in mesa/demos repository.</p>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -21,24 +21,7 @@ The release notes summarize what's new or changed in each Mesa release.
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li><a href="relnotes/10.5.5.html">10.5.5 release notes</a>
|
||||
<li><a href="relnotes/10.5.4.html">10.5.4 release notes</a>
|
||||
<li><a href="relnotes/10.5.3.html">10.5.3 release notes</a>
|
||||
<li><a href="relnotes/10.5.2.html">10.5.2 release notes</a>
|
||||
<li><a href="relnotes/10.4.7.html">10.4.7 release notes</a>
|
||||
<li><a href="relnotes/10.5.1.html">10.5.1 release notes</a>
|
||||
<li><a href="relnotes/10.5.0.html">10.5.0 release notes</a>
|
||||
<li><a href="relnotes/10.4.6.html">10.4.6 release notes</a>
|
||||
<li><a href="relnotes/10.4.5.html">10.4.5 release notes</a>
|
||||
<li><a href="relnotes/10.4.4.html">10.4.4 release notes</a>
|
||||
<li><a href="relnotes/10.4.3.html">10.4.3 release notes</a>
|
||||
<li><a href="relnotes/10.4.2.html">10.4.2 release notes</a>
|
||||
<li><a href="relnotes/10.3.7.html">10.3.7 release notes</a>
|
||||
<li><a href="relnotes/10.4.1.html">10.4.1 release notes</a>
|
||||
<li><a href="relnotes/10.3.6.html">10.3.6 release notes</a>
|
||||
<li><a href="relnotes/10.4.html">10.4 release notes</a>
|
||||
<li><a href="relnotes/10.3.5.html">10.3.5 release notes</a>
|
||||
<li><a href="relnotes/10.3.4.html">10.3.4 release notes</a>
|
||||
<li><a href="relnotes/10.3.3.html">10.3.3 release notes</a>
|
||||
<li><a href="relnotes/10.3.2.html">10.3.2 release notes</a>
|
||||
<li><a href="relnotes/10.3.1.html">10.3.1 release notes</a>
|
||||
|
@@ -104,7 +104,7 @@ a07b4b6b9eb449b88a6cb5061e51c331 MesaLib-10.0.3.zip
|
||||
<li>Add md5sums for 10.0.2. release.</li>
|
||||
<li>cherry-ignore: Ignore several patches not yet ready for the stable branch</li>
|
||||
<li>Drop another couple of patches.</li>
|
||||
<li>cherry-ignore: Ignore 4 patches at the request of the author, (Anuj).</li>
|
||||
<li>cherry-ignore: Ignore 4 patches at teh request of the author, (Anuj).</li>
|
||||
<li>Update version to 10.0.3</li>
|
||||
</ul>
|
||||
|
||||
|
@@ -1,106 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
<h1>The Mesa 3D Graphics Library</h1>
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 10.3.4 Release Notes / November 21, 2014</h1>
|
||||
|
||||
<p>
|
||||
Mesa 10.3.4 is a bug fix release which fixes bugs found since the 10.3.3 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 10.3.4 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 3.3. OpenGL
|
||||
3.3 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
</p>
|
||||
|
||||
<h2>SHA256 checksums</h2>
|
||||
<pre>
|
||||
26482495ef6177f889dbd87c7edcccfedd995598785bbbd7e3e066352574c8e0 MesaLib-10.3.4.tar.gz
|
||||
e6373913142338d10515daf619d659433bfd2989988198930c13b0945a15e98a MesaLib-10.3.4.tar.bz2
|
||||
8c3ebbb6535daf3414305860ebca6ac67dbb6e3d35058c7a6ce18b84b5945b7f MesaLib-10.3.4.zip
|
||||
</pre>
|
||||
|
||||
<h2>New features</h2>
|
||||
<p>None</p>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<p>This list is likely incomplete.</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=76252">Bug 76252</a> - Dynamic loading/unloading of opengl32.dll results in a deadlock</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=78770">Bug 78770</a> - [SNB bisected]Webglc conformance/textures/texture-size-limit.html fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=83500">Bug 83500</a> - si_dma_copy_tile causes GPU hangs</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=85647">Bug 85647</a> - Random radeonsi crashes with mesa 10.3.x</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h2>Changes</h2>
|
||||
<p>Brian Paul (1):</p>
|
||||
<ul>
|
||||
<li>st/mesa: copy sampler_array_size field when copying instructions</li>
|
||||
</ul>
|
||||
|
||||
<p>Chad Versace (1):</p>
|
||||
<ul>
|
||||
<li>i965: Fix segfault in WebGL Conformance on Ivybridge</li>
|
||||
</ul>
|
||||
|
||||
<p>Dave Airlie (5):</p>
|
||||
<ul>
|
||||
<li>r600g/cayman: fix integer multiplication output overwrite (v2)</li>
|
||||
<li>r600g/cayman: fix texture gather tests</li>
|
||||
<li>r600g/cayman: handle empty vertex shaders</li>
|
||||
<li>r600g: geom shaders: always load texture src regs from inputs</li>
|
||||
<li>r600g: limit texture offset application to specific types (v2)</li>
|
||||
</ul>
|
||||
|
||||
<p>Emil Velikov (3):</p>
|
||||
<ul>
|
||||
<li>docs: Add sha256 sums for the 10.3.3 release</li>
|
||||
<li>configure.ac: roll up a program for the sse4.1 check</li>
|
||||
<li>get-pick-list.sh: Require explicit "10.3" for nominating stable patches</li>
|
||||
</ul>
|
||||
|
||||
<p>Ilia Mirkin (1):</p>
|
||||
<ul>
|
||||
<li>st/mesa: add a fallback for clear_with_quad when no vs_layer</li>
|
||||
</ul>
|
||||
|
||||
<p>José Fonseca (1):</p>
|
||||
<ul>
|
||||
<li>llvmpipe: Avoid deadlock when unloading opengl32.dll</li>
|
||||
</ul>
|
||||
|
||||
<p>Kenneth Graunke (1):</p>
|
||||
<ul>
|
||||
<li>i915g: we also have more than 0 viewports!</li>
|
||||
</ul>
|
||||
|
||||
<p>Michel Dänzer (1):</p>
|
||||
<ul>
|
||||
<li>radeonsi: Disable asynchronous DMA except for PIPE_BUFFER</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -1,88 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
<h1>The Mesa 3D Graphics Library</h1>
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 10.3.5 Release Notes / December 5, 2014</h1>
|
||||
|
||||
<p>
|
||||
Mesa 10.3.5 is a bug fix release which fixes bugs found since the 10.3.4 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 10.3.5 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 3.3. OpenGL
|
||||
3.3 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
</p>
|
||||
|
||||
<h2>SHA256 checksums</h2>
|
||||
<pre>
|
||||
7ea71c3cce89114df3dc050376afa1c6f6bf235d77a68f9703273603d6a90621 MesaLib-10.3.5.tar.gz
|
||||
eb75d2790f1606d59d50a6acaa637b6c75f2155b3e0eca3d5099165c0d9556ae MesaLib-10.3.5.tar.bz2
|
||||
164bc64ba63fb07ff255ff8de6ed3c95ff545dfe8f864c44c33abe94788da910 MesaLib-10.3.5.zip
|
||||
</pre>
|
||||
|
||||
<h2>New features</h2>
|
||||
<p>None</p>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<p>This list is likely incomplete.</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=86618">Bug 86618</a> - [NV96] neg modifiers not working in MIN and MAX operations</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h2>Changes</h2>
|
||||
<p>Brian Paul (2):</p>
|
||||
<ul>
|
||||
<li>mesa: fix arithmetic error in _mesa_compute_compressed_pixelstore()</li>
|
||||
<li>mesa: fix height error check for 1D array textures</li>
|
||||
</ul>
|
||||
|
||||
<p>Chris Forbes (2):</p>
|
||||
<ul>
|
||||
<li>i965: Handle nested uniform array indexing</li>
|
||||
<li>mesa: Fix Get(GL_TRANSPOSE_CURRENT_MATRIX_ARB) to transpose</li>
|
||||
</ul>
|
||||
|
||||
<p>Emil Velikov (2):</p>
|
||||
<ul>
|
||||
<li>docs: Add sha256 sums for the 10.3.5 release</li>
|
||||
<li>Update version to 10.3.5</li>
|
||||
</ul>
|
||||
|
||||
<p>Ilia Mirkin (6):</p>
|
||||
<ul>
|
||||
<li>nv50/ir: set neg modifiers on min/max args</li>
|
||||
<li>nv50,nvc0: actually check constbufs for invalidation</li>
|
||||
<li>nv50,nvc0: buffer resources can be bound as other things down the line</li>
|
||||
<li>freedreno/ir3: don't pass consts to madsh.m16 in MOD logic</li>
|
||||
<li>freedreno/a3xx: only enable blend clamp for non-float formats</li>
|
||||
<li>freedreno/ir3: fix UMAD</li>
|
||||
</ul>
|
||||
|
||||
<p>Rob Clark (1):</p>
|
||||
<ul>
|
||||
<li>configure.ac: bump libdrm_freedreno requirement</li>
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -1,124 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
<h1>The Mesa 3D Graphics Library</h1>
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 10.3.6 Release Notes / December 29, 2014</h1>
|
||||
|
||||
<p>
|
||||
Mesa 10.3.6 is a bug fix release which fixes bugs found since the 10.3.5 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 10.3.6 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 3.3. OpenGL
|
||||
3.3 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
</p>
|
||||
|
||||
<h2>SHA256 checksums</h2>
|
||||
<pre>
|
||||
c4d053d6bc6604cb5c93c99e0ef2e815c539f26dc5a03737eb3809bc1767d12f MesaLib-10.3.6.tar.gz
|
||||
8d43673c6788fbf85f9c36c3a95c61ccf46f8835fc9c0d85d34474490d80572b MesaLib-10.3.6.tar.bz2
|
||||
6b5b1e9a13949cfdb76fe51e8dcc3ea71e464a5ca73d11fdc29c20c4ba3f411a MesaLib-10.3.6.zip
|
||||
</pre>
|
||||
|
||||
<h2>New features</h2>
|
||||
<p>None</p>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<p>This list is likely incomplete.</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=60879">Bug 60879</a> - [radeonsi] X11 can't start with acceleration enabled</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=82585">Bug 82585</a> - geometry shader with optional out variable segfaults</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=82991">Bug 82991</a> - Inverted bumpmap in webgl applications</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=84777">Bug 84777</a> - [BSW]Piglit spec_glsl-1.50_execution_geometry-basic fails</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>Andres Gomez (1):</p>
|
||||
<ul>
|
||||
<li>i965/brw_reg: struct constructor now needs explicit negate and abs values.</li>
|
||||
</ul>
|
||||
|
||||
<p>Ben Widawsky (1):</p>
|
||||
<ul>
|
||||
<li>i965/gs: Avoid DW * DW mul</li>
|
||||
</ul>
|
||||
|
||||
<p>Dave Airlie (1):</p>
|
||||
<ul>
|
||||
<li>r600g: only init GS_VERT_ITEMSIZE on r600</li>
|
||||
</ul>
|
||||
|
||||
<p>Emil Velikov (3):</p>
|
||||
<ul>
|
||||
<li>docs: Add sha256 sums for the 10.3.5 release</li>
|
||||
<li>Revert "glx/dri3: Request non-vsynced Present for swapinterval zero. (v3)"</li>
|
||||
<li>Update version to 10.3.6</li>
|
||||
</ul>
|
||||
|
||||
<p>Ian Romanick (2):</p>
|
||||
<ul>
|
||||
<li>linker: Wrap access of producer_var with a NULL check</li>
|
||||
<li>linker: Assign varying locations geometry shader inputs for SSO</li>
|
||||
</ul>
|
||||
|
||||
<p>Ilia Mirkin (3):</p>
|
||||
<ul>
|
||||
<li>util/primconvert: pass index bias through</li>
|
||||
<li>util/primconvert: support instanced rendering</li>
|
||||
<li>util/primconvert: take ib offset into account</li>
|
||||
</ul>
|
||||
|
||||
<p>José Fonseca (1):</p>
|
||||
<ul>
|
||||
<li>util/primconvert: Avoid point arithmetic; apply offset on all cases.</li>
|
||||
</ul>
|
||||
|
||||
<p>Marek Olšák (1):</p>
|
||||
<ul>
|
||||
<li>docs/relnotes: document the removal of GALLIUM_MSAA</li>
|
||||
</ul>
|
||||
|
||||
<p>Mario Kleiner (4):</p>
|
||||
<ul>
|
||||
<li>glx/dri3: Fix glXWaitForSbcOML() to handle targetSBC==0 correctly. (v2)</li>
|
||||
<li>glx/dri3: Track separate (ust, msc) for PresentPixmap vs. PresentNotifyMsc (v2)</li>
|
||||
<li>glx/dri3: Request non-vsynced Present for swapinterval zero. (v3)</li>
|
||||
<li>glx/dri3: Don't fail on glXSwapBuffersMscOML(dpy, window, 0, 0, 0) (v2)</li>
|
||||
</ul>
|
||||
|
||||
<p>Maxence Le Doré (1):</p>
|
||||
<ul>
|
||||
<li>glsl: Add gl_MaxViewports to available builtin constants</li>
|
||||
</ul>
|
||||
|
||||
<p>Tom Stellard (1):</p>
|
||||
<ul>
|
||||
<li>radeonsi: Program RASTER_CONFIG for harvested GPUs v5</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -1,93 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
<h1>The Mesa 3D Graphics Library</h1>
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 10.3.7 Release Notes / January 12, 2015</h1>
|
||||
|
||||
<p>
|
||||
Mesa 10.3.7 is a bug fix release which fixes bugs found since the 10.3.6 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 10.3.7 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 3.3. OpenGL
|
||||
3.3 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
</p>
|
||||
|
||||
<h2>SHA256 checksums</h2>
|
||||
<pre>
|
||||
bc13f33c19bc9f44a0565fdd51a8f9d1c0153a3365c429ceaf4ef43b7022b052 MesaLib-10.3.7.tar.gz
|
||||
43c6ced15e237cbb21b3082d7c0b42777c50c1f731d0d4b5efb5231063fb6a5b MesaLib-10.3.7.tar.bz2
|
||||
d821fd46baf804fecfcf403e901800a4b996c7dd1c83f20a354b46566a49026f MesaLib-10.3.7.zip
|
||||
</pre>
|
||||
|
||||
<h2>New features</h2>
|
||||
<p>None</p>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<p>This list is likely incomplete.</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=85529">Bug 85529</a> - Surfaces not drawn in Unvanquished</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=87619">Bug 87619</a> - Changes to state such as render targets change fragment shader without marking it dirty.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>Chad Versace (2):</p>
|
||||
<ul>
|
||||
<li>i965: Use safer pointer arithmetic in intel_texsubimage_tiled_memcpy()</li>
|
||||
<li>i965: Use safer pointer arithmetic in gather_oa_results()</li>
|
||||
</ul>
|
||||
|
||||
<p>Emil Velikov (2):</p>
|
||||
<ul>
|
||||
<li>docs: Add sha256 sums for the 10.3.6 release</li>
|
||||
<li>Update version to 10.3.7</li>
|
||||
</ul>
|
||||
|
||||
<p>Ilia Mirkin (2):</p>
|
||||
<ul>
|
||||
<li>nv50,nvc0: set vertex id base to index_bias</li>
|
||||
<li>nv50/ir: fix texture offsets in release builds</li>
|
||||
</ul>
|
||||
|
||||
<p>Kenneth Graunke (2):</p>
|
||||
<ul>
|
||||
<li>i965: Add missing BRW_NEW_*_PROG_DATA to texture/renderbuffer atoms.</li>
|
||||
<li>i965: Fix start/base_vertex_location for >1 prims but !BRW_NEW_VERTICES.</li>
|
||||
</ul>
|
||||
|
||||
<p>Marek Olšák (3):</p>
|
||||
<ul>
|
||||
<li>glsl_to_tgsi: fix a bug in copy propagation</li>
|
||||
<li>vbo: ignore primitive restart if FixedIndex is enabled in DrawArrays</li>
|
||||
<li>st/mesa: fix GL_PRIMITIVE_RESTART_FIXED_INDEX</li>
|
||||
</ul>
|
||||
|
||||
<p>Michel Dänzer (1):</p>
|
||||
<ul>
|
||||
<li>radeonsi: Don't modify PA_SC_RASTER_CONFIG register value if rb_mask == 0</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -30,9 +30,7 @@ because compatibility contexts are not supported.
|
||||
|
||||
<h2>SHA256 checksums</h2>
|
||||
<pre>
|
||||
5cb427eaf980cb8555953e9928f5797979ed783e277745d5f8cbae8bc5364086 MesaLib-10.4.4.tar.gz
|
||||
f18a967e9c4d80e054b2fdff8c130ce6e6d1f8eecfc42c9f354f8628d8b4df1c MesaLib-10.4.4.tar.bz2
|
||||
86baad73b77920c80fe58402a905e7dd17e3ea10ead6ea7d3afdc0a56c860bd7 MesaLib-10.4.4.zip
|
||||
TBD
|
||||
</pre>
|
||||
|
||||
<h2>New features</h2>
|
||||
|
@@ -1,114 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
<h1>The Mesa 3D Graphics Library</h1>
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 10.4.5 Release Notes / February 21, 2015</h1>
|
||||
|
||||
<p>
|
||||
Mesa 10.4.5 is a bug fix release which fixes bugs found since the 10.4.4 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 10.4.5 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 3.3. OpenGL
|
||||
3.3 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
</p>
|
||||
|
||||
<h2>SHA256 checksums</h2>
|
||||
<pre>
|
||||
e12bbdaee9a758617e8ebd0bb0e987f72addd11db2e4da25ba695e386cd63843 MesaLib-10.4.5.tar.gz
|
||||
bf60000700a9d58e3aca2bfeee7e781053b0d839e61a95b1883e05a2dee247a0 MesaLib-10.4.5.tar.bz2
|
||||
3b926de8eee500bb67cf85332c51292f826cc539b8636382aadbb8e70c76527a MesaLib-10.4.5.zip
|
||||
</pre>
|
||||
|
||||
<h2>New features</h2>
|
||||
<p>None</p>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<p>This list is likely incomplete.</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=82477">Bug 82477</a> - [softpipe] piglit fp-long-alu regression</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=88658">Bug 88658</a> - (bisected) Slow video playback on Kabini</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89069">Bug 89069</a> - Lack of grass in The Talos Principle on radeonsi (native\wine\nine)</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>Carl Worth (1):</p>
|
||||
<ul>
|
||||
<li>Revert use of Mesa IR optimizer for ARB_fragment_programs</li>
|
||||
</ul>
|
||||
|
||||
<p>Emil Velikov (3):</p>
|
||||
<ul>
|
||||
<li>docs: Add sha256 sums for the 10.4.4 release</li>
|
||||
<li>get-pick-list.sh: Require explicit "10.4" for nominating stable patches</li>
|
||||
<li>Update version to 10.4.5</li>
|
||||
</ul>
|
||||
|
||||
<p>Ilia Mirkin (3):</p>
|
||||
<ul>
|
||||
<li>nvc0: bail out of 2d blits with non-A8_UNORM alpha formats</li>
|
||||
<li>st/mesa: treat resource-less xfb buffers as if they weren't there</li>
|
||||
<li>nvc0: allow holes in xfb target lists</li>
|
||||
</ul>
|
||||
|
||||
<p>Jeremy Huddleston Sequoia (2):</p>
|
||||
<ul>
|
||||
<li>darwin: build fix</li>
|
||||
<li>darwin: build fix</li>
|
||||
</ul>
|
||||
|
||||
<p>Kenneth Graunke (4):</p>
|
||||
<ul>
|
||||
<li>i965: Override swizzles for integer luminance formats.</li>
|
||||
<li>i965: Use a gl_color_union for sampler border color.</li>
|
||||
<li>i965: Fix integer border color on Haswell.</li>
|
||||
<li>glsl: Reduce memory consumption of copy propagation passes.</li>
|
||||
</ul>
|
||||
|
||||
<p>Laura Ekstrand (1):</p>
|
||||
<ul>
|
||||
<li>main: Fixed _mesa_GetCompressedTexImage_sw to copy slices correctly.</li>
|
||||
</ul>
|
||||
|
||||
<p>Marek Olšák (5):</p>
|
||||
<ul>
|
||||
<li>r600g,radeonsi: don't append to streamout buffers that haven't been used yet</li>
|
||||
<li>radeonsi: fix instanced arrays with non-zero start instance</li>
|
||||
<li>radeonsi: small fix in SPI state</li>
|
||||
<li>mesa: fix AtomicBuffer typo in _mesa_DeleteBuffers</li>
|
||||
<li>radeonsi: fix a crash if a stencil ref state is set before a DSA state</li>
|
||||
</ul>
|
||||
|
||||
<p>Michel Dänzer (2):</p>
|
||||
<ul>
|
||||
<li>st/mesa: Don't use PIPE_USAGE_STREAM for GL_PIXEL_UNPACK_BUFFER_ARB</li>
|
||||
<li>Revert "radeon/llvm: enable unsafe math for graphics shaders"</li>
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -1,143 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
<h1>The Mesa 3D Graphics Library</h1>
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 10.4.6 Release Notes / March 06, 2015</h1>
|
||||
|
||||
<p>
|
||||
Mesa 10.4.6 is a bug fix release which fixes bugs found since the 10.4.5 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 10.4.6 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 3.3. OpenGL
|
||||
3.3 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
</p>
|
||||
|
||||
<h2>SHA256 checksums</h2>
|
||||
<pre>
|
||||
46c9082142e811c01e49a2c332a9ac0a1eb98f2908985fb9df216539d7eaeaf4 MesaLib-10.4.6.tar.gz
|
||||
d8baedd20e79ccd98a5a7b05e23d59a30892e68de1fcc057ca6873dafca02735 MesaLib-10.4.6.tar.bz2
|
||||
6aded6eac7f0d4d55117b8b581d8424710bbb4c768fc90f7b881f29311a751aa MesaLib-10.4.6.zip
|
||||
</pre>
|
||||
|
||||
<h2>New features</h2>
|
||||
<p>None</p>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<p>This list is likely incomplete.</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=45348">Bug 45348</a> - [swrast] piglit fbo-drawbuffers-arbfp regression</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=84613">Bug 84613</a> - [G965, bisected] piglit regressions : glslparsertest.glsl2</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=87516">Bug 87516</a> - glProgramBinary violates spec</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=88885">Bug 88885</a> - Transform feedback uses incorrect interleaving if a previous draw did not write gl_Position</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89180">Bug 89180</a> - [IVB regression] Rendering issues in Mass Effect through VMware Workstation</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>Abdiel Janulgue (2):</p>
|
||||
<ul>
|
||||
<li>glsl: Don't optimize min/max into saturate when EmitNoSat is set</li>
|
||||
<li>st/mesa: For vertex shaders, don't emit saturate when SM 3.0 is unsupported</li>
|
||||
</ul>
|
||||
|
||||
<p>Andreas Boll (1):</p>
|
||||
<ul>
|
||||
<li>glx: Fix returned values of GLX_RENDERER_PREFERRED_PROFILE_MESA</li>
|
||||
</ul>
|
||||
|
||||
<p>Brian Paul (2):</p>
|
||||
<ul>
|
||||
<li>swrast: fix multiple color buffer writing</li>
|
||||
<li>st/mesa: fix sampler view reference counting bug in glDraw/CopyPixels</li>
|
||||
</ul>
|
||||
|
||||
<p>Chris Forbes (1):</p>
|
||||
<ul>
|
||||
<li>i965/gs: Check newly-generated GS-out VUE map against correct stage</li>
|
||||
</ul>
|
||||
|
||||
<p>Eduardo Lima Mitev (1):</p>
|
||||
<ul>
|
||||
<li>mesa: Fix error validating args for TexSubImage3D</li>
|
||||
</ul>
|
||||
|
||||
<p>Emil Velikov (6):</p>
|
||||
<ul>
|
||||
<li>docs: Add sha256 sums for the 10.4.5 release</li>
|
||||
<li>install-lib-links: remove the .install-lib-links file</li>
|
||||
<li>Revert "mesa: Correct backwards NULL check."</li>
|
||||
<li>mesa: cherry-pick the second half of commit 2aa71e9485a</li>
|
||||
<li>Revert "gallivm: Update for RTDyldMemoryManager becoming an unique_ptr."</li>
|
||||
<li>Update version to 10.4.6</li>
|
||||
</ul>
|
||||
|
||||
<p>Ian Romanick (3):</p>
|
||||
<ul>
|
||||
<li>mesa: Add missing error checks in _mesa_ProgramBinary</li>
|
||||
<li>mesa: Ensure that length is set to zero in _mesa_GetProgramBinary</li>
|
||||
<li>mesa: Always generate GL_INVALID_OPERATION in _mesa_GetProgramBinary</li>
|
||||
</ul>
|
||||
|
||||
<p>Jonathan Gray (1):</p>
|
||||
<ul>
|
||||
<li>auxilary/os: correct sysctl use in os_get_total_physical_memory()</li>
|
||||
</ul>
|
||||
|
||||
<p>José Fonseca (1):</p>
|
||||
<ul>
|
||||
<li>gallivm: Update for RTDyldMemoryManager becoming an unique_ptr.</li>
|
||||
</ul>
|
||||
|
||||
<p>Leo Liu (1):</p>
|
||||
<ul>
|
||||
<li>st/omx/dec/h264: fix picture out-of-order with poc type 0 v2</li>
|
||||
</ul>
|
||||
|
||||
<p>Lucas Stach (1):</p>
|
||||
<ul>
|
||||
<li>install-lib-links: don't depend on .libs directory</li>
|
||||
</ul>
|
||||
|
||||
<p>Marek Olšák (2):</p>
|
||||
<ul>
|
||||
<li>vbo: fix an unitialized-variable warning</li>
|
||||
<li>radeonsi: fix point sprites</li>
|
||||
</ul>
|
||||
|
||||
<p>Matt Turner (4):</p>
|
||||
<ul>
|
||||
<li>glsl: Rewrite and fix min/max to saturate optimization.</li>
|
||||
<li>mesa: Correct backwards NULL check.</li>
|
||||
<li>i965/fs: Don't use backend_visitor::instructions after creating the CFG.</li>
|
||||
<li>mesa: Correct backwards NULL check.</li>
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -1,134 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
<h1>The Mesa 3D Graphics Library</h1>
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 10.4.7 Release Notes / March 20, 2015</h1>
|
||||
|
||||
<p>
|
||||
Mesa 10.4.7 is a bug fix release which fixes bugs found since the 10.4.6 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 10.4.7 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 3.3. OpenGL
|
||||
3.3 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
</p>
|
||||
|
||||
<h2>SHA256 checksums</h2>
|
||||
<pre>
|
||||
9e7b59267199658808f8b33e0410b86fbafbdcd52378658b9df65fac9d24947f MesaLib-10.4.7.tar.gz
|
||||
2c351c98671f9a7ab3fd9c601bb7a255801b1580f5dd0992639f99152801b0d2 MesaLib-10.4.7.tar.bz2
|
||||
d14ac578b5ce16560757b53fbd1cb4d6b34652f8e110e4b10a019adc82e67ffd MesaLib-10.4.7.zip
|
||||
</pre>
|
||||
|
||||
<h2>New features</h2>
|
||||
<p>None</p>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<p>This list is likely incomplete.</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=79202">Bug 79202</a> - valgrind errors in glsl-fs-uniform-array-loop-unroll.shader_test; random code generation</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89156">Bug 89156</a> - r300g: GL_COMPRESSED_RED_RGTC1 / ATI1N support broken</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89224">Bug 89224</a> - Incorrect rendering of Unigine Valley running in VM on VMware Workstation</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89530">Bug 89530</a> - FTBFS in loader: missing fstat</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>Andrey Sudnik (1):</p>
|
||||
<ul>
|
||||
<li>i965/vec4: Don't lose the saturate modifier in copy propagation.</li>
|
||||
</ul>
|
||||
|
||||
<p>Daniel Stone (1):</p>
|
||||
<ul>
|
||||
<li>egl: Take alpha bits into account when selecting GBM formats</li>
|
||||
</ul>
|
||||
|
||||
<p>Emil Velikov (6):</p>
|
||||
<ul>
|
||||
<li>docs: Add sha256 sums for the 10.4.6 release</li>
|
||||
<li>cherry-ignore: add not applicable/rejected commits</li>
|
||||
<li>mesa: rename format_info.c to format_info.h</li>
|
||||
<li>loader: include <sys/stat.h> for non-sysfs builds</li>
|
||||
<li>auxiliary/os: fix the android build - s/drm_munmap/os_munmap/</li>
|
||||
<li>Update version to 10.4.7</li>
|
||||
</ul>
|
||||
|
||||
<p>Iago Toral Quiroga (1):</p>
|
||||
<ul>
|
||||
<li>i965: Fix out-of-bounds accesses into pull_constant_loc array</li>
|
||||
</ul>
|
||||
|
||||
<p>Ilia Mirkin (4):</p>
|
||||
<ul>
|
||||
<li>freedreno: move fb state copy after checking for size change</li>
|
||||
<li>freedreno/ir3: fix array count returned by TXQ</li>
|
||||
<li>freedreno/ir3: get the # of miplevels from getinfo</li>
|
||||
<li>freedreno: fix slice pitch calculations</li>
|
||||
</ul>
|
||||
|
||||
<p>Marc-Andre Lureau (1):</p>
|
||||
<ul>
|
||||
<li>gallium/auxiliary/indices: fix start param</li>
|
||||
</ul>
|
||||
|
||||
<p>Marek Olšák (4):</p>
|
||||
<ul>
|
||||
<li>r300g: fix RGTC1 and LATC1 SNORM formats</li>
|
||||
<li>r300g: fix a crash when resolving into an sRGB texture</li>
|
||||
<li>r300g: fix sRGB->sRGB blits</li>
|
||||
<li>radeonsi: increase coords array size for radeon_llvm_emit_prepare_cube_coords</li>
|
||||
</ul>
|
||||
|
||||
<p>Mario Kleiner (1):</p>
|
||||
<ul>
|
||||
<li>glx: Handle out-of-sequence swap completion events correctly. (v2)</li>
|
||||
</ul>
|
||||
|
||||
<p>Matt Turner (2):</p>
|
||||
<ul>
|
||||
<li>r300g: Use PATH_MAX instead of limiting ourselves to 100 chars.</li>
|
||||
<li>r300g: Check return value of snprintf().</li>
|
||||
</ul>
|
||||
|
||||
<p>Rob Clark (2):</p>
|
||||
<ul>
|
||||
<li>freedreno/ir3: fix silly typo for binning pass shaders</li>
|
||||
<li>freedreno: update generated headers</li>
|
||||
</ul>
|
||||
|
||||
<p>Samuel Iglesias Gonsalvez (1):</p>
|
||||
<ul>
|
||||
<li>glsl: optimize (0 cmp x + y) into (-x cmp y).</li>
|
||||
</ul>
|
||||
|
||||
<p>Stefan Dösinger (1):</p>
|
||||
<ul>
|
||||
<li>r300g: Fix the ATI1N swizzle (RGTC1 and LATC1)</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -1,212 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
<h1>The Mesa 3D Graphics Library</h1>
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 10.5.0 Release Notes / March 06, 2015</h1>
|
||||
|
||||
<p>
|
||||
Mesa 10.5.0 is a new development release.
|
||||
People who are concerned with stability and reliability should stick
|
||||
with a previous release or wait for Mesa 10.5.1.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 10.5.0 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 3.3. OpenGL
|
||||
3.3 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>SHA256 checksums</h2>
|
||||
<pre>
|
||||
2bb6e2e982ee4d8264d52d638c2a4e3f8a164190336d72d4e34ae1304d87ed91 mesa-10.5.0.tar.gz
|
||||
d7ca9f9044bbdd674377e3eebceef1fae339c8817b9aa435c2053e4fea44e5d3 mesa-10.5.0.tar.xz
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
|
||||
<p>
|
||||
Note: some of the new features are only available with certain drivers.
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>GL_ARB_framebuffer_sRGB on freedreno</li>
|
||||
<li>GL_ARB_texture_rg on freedreno</li>
|
||||
<li>GL_EXT_packed_float on freedreno</li>
|
||||
<li>GL_EXT_polygon_offset_clamp on i965, nv50, nvc0, r600, radeonsi, llvmpipe</li>
|
||||
<li>GL_EXT_texture_shared_exponent on freedreno</li>
|
||||
<li>GL_EXT_texture_snorm on freedreno</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<p>This list is likely incomplete.</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=10370">Bug 10370</a> - Incorrect pixels read back if draw bitmap texture through Display list</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=45348">Bug 45348</a> - [swrast] piglit fbo-drawbuffers-arbfp regression</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=60879">Bug 60879</a> - [radeonsi] X11 can't start with acceleration enabled</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=67672">Bug 67672</a> - [llvmpipe] lp_test_arit fails on old CPUs</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=77544">Bug 77544</a> - i965: Try to use LINE instructions to perform MAD with immediate arguments</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=78770">Bug 78770</a> - [SNB bisected]Webglc conformance/textures/texture-size-limit.html fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=80568">Bug 80568</a> - [gen4] GPU Crash During Google Chrome Operation</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=82477">Bug 82477</a> - [softpipe] piglit fp-long-alu regression</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=82585">Bug 82585</a> - geometry shader with optional out variable segfaults</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=82991">Bug 82991</a> - Inverted bumpmap in webgl applications</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=83463">Bug 83463</a> - [swrast] piglit glsl-vs-clamp-1 regression</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=83500">Bug 83500</a> - si_dma_copy_tile causes GPU hangs</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=83510">Bug 83510</a> - Graphical glitches in Unreal Engine 4</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=83908">Bug 83908</a> - [i965] Incorrect icon colors in Steam Big Picture</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=84212">Bug 84212</a> - [BSW]ES3-CTS.shaders.loops.do_while_dynamic_iterations.vector_counter_vertex fails and causes GPU hang</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=84651">Bug 84651</a> - Distorted graphics or black window when running Battle.net app on Intel hardware via wine</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=84777">Bug 84777</a> - [BSW]Piglit spec_glsl-1.50_execution_geometry-basic fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=85367">Bug 85367</a> - [gen4] GPU hang in glmark-es2</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=85467">Bug 85467</a> - [llvmpipe] piglit gl-1.0-dlist-beginend failure with llvm-3.6.0svn</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=85529">Bug 85529</a> - Surfaces not drawn in Unvanquished</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=85647">Bug 85647</a> - Random radeonsi crashes with mesa 10.3.x</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=85696">Bug 85696</a> - r600g+nine: Bioshock shader failure after 7b1c0cbc90d456384b0950ad21faa3c61a6b43ff</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=86089">Bug 86089</a> - [r600g][mesa 10.4.0-dev] shader failure - r600_sb::bc_finalizer::cf_peephole() when starting Second Life</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=86618">Bug 86618</a> - [NV96] neg modifiers not working in MIN and MAX operations</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=86760">Bug 86760</a> - mesa doesn't build: recipe for target 'r600_llvm.lo' failed</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=86764">Bug 86764</a> - [SNB+ Bisected]Piglit glean/pointSprite fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=86788">Bug 86788</a> - (bisected) 32bit UrbanTerror 4.1 timedemo sse4.1 segfault...</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=86811">Bug 86811</a> - [BDW/BSW Bisected]Piglit spec_arb_shading_language_packing_execution_built-in-functions_vs-unpackSnorm4x8 fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=86837">Bug 86837</a> - kodi segfault since auxiliary/vl: rework the build of the VL code</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=86939">Bug 86939</a> - test_vf_float_conversions.cpp:63:12: error: expected primary-expression before ‘union’</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=86944">Bug 86944</a> - glsl_parser_extras.cpp", line 1455: Error: Badly formed expression. (Oracle Studio)</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=86958">Bug 86958</a> - lp_bld_misc.cpp:503:40: error: no matching function for call to ‘llvm::EngineBuilder::setMCJITMemoryManager(ShaderMemoryManager*&)’</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=86969">Bug 86969</a> - _drm_intel_gem_bo_references() function takes half the CPU with Witcher2 game</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=87076">Bug 87076</a> - Dead Island needs allow_glsl_extension_directive_midshader</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=87516">Bug 87516</a> - glProgramBinary violates spec</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=87619">Bug 87619</a> - Changes to state such as render targets change fragment shader without marking it dirty.</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=87658">Bug 87658</a> - [llvmpipe] SEGV in sse2_has_daz on ancient Pentium4-M</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=87694">Bug 87694</a> - [SNB] Crash in brw_begin_transform_feedback</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=87886">Bug 87886</a> - constant fps drops with Intel and Radeon</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=87887">Bug 87887</a> - [i965 Bisected]ES2-CTS.gtf.GL.cos.cos_float_vert_xvary fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=87913">Bug 87913</a> - CPU cacheline size of 0 can be returned by CPUID leaf 0x80000006 in some virtual machines</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=88079">Bug 88079</a> - dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0 tests fail due to enabling of GL_RGB and GL_RGBA</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=88170">Bug 88170</a> - 32 bits opengl apps crash with latest llvm 3.6 git / mesa git / radeonsi</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=88219">Bug 88219</a> - include/c11/threads_posix.h:197: undefined reference to `pthread_mutex_lock'</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=88227">Bug 88227</a> - Radeonsi: High GTT usage in Prison Architect large map</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=88248">Bug 88248</a> - Calling glClear while there is an occlusion query in progress messes up the results</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=88335">Bug 88335</a> - format_pack.c:9567:22: error: expected ')'</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=88385">Bug 88385</a> - [SNB+ Bisected]Ogles3conform ES3-CTS.gtf.GL3Tests.packed_pixels.packed_pixels core dumped</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=88467">Bug 88467</a> - nir.c:140: error: ‘nir_src’ has no member named ‘ssa’</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=88478">Bug 88478</a> - #error "<malloc.h> has been replaced by <stdlib.h>"</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=88519">Bug 88519</a> - sha1.c:210:22: error: 'grcy_md_hd_t' undeclared (first use in this function)</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=88523">Bug 88523</a> - sha1.c:37: error: 'SHA1_CTX' undeclared (first use in this function)</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=88561">Bug 88561</a> - [radeonsi][regression,bisected] Depth test/buffer issues in Portal</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=88658">Bug 88658</a> - (bisected) Slow video playback on Kabini</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=88662">Bug 88662</a> - unaligned access to gl_dlist_node</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=88783">Bug 88783</a> - FTBFS: Clover: src/gallium/state_trackers/clover/llvm/invocation.cpp:335:49: error: no matching function for call to 'llvm::TargetLibraryInfo::TargetLibraryInfo(llvm::Triple)</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=88792">Bug 88792</a> - [BDW/BSW Bisected]Piglit spec_ARB_pixel_buffer_object_pbo-read-argb8888 fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=88806">Bug 88806</a> - nir/nir_constant_expressions.c:2754:15: error: controlling expression type 'unsigned int' not compatible with any generic association type</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=88841">Bug 88841</a> - [SNB/IVB/HSW/BDW Bisected]Piglit spec_EGL_NOK_texture_from_pixmap_basic fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=88852">Bug 88852</a> - macros.h(181) : error C2143: syntax error : missing '{' before 'enum [tag]'</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=88905">Bug 88905</a> - [SNB+ Bisected]Ogles3conform ES3-CTS.gtf.GL3Tests.packed_pixels.packed_pixels fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=88930">Bug 88930</a> - [osmesa] osbuffer->textures should be indexed by attachment type</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=88962">Bug 88962</a> - [osmesa] Crash on postprocessing if z buffer is NULL</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89032">Bug 89032</a> - [BDW/BSW/SKL Bisected]Piglit spec_OpenGL_1.1_infinite-spot-light fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89037">Bug 89037</a> - [SKL]Piglit spec_EXT_texture_array_copyteximage_1D_ARRAY_samples=2 sporadically causes GPU hang</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89068">Bug 89068</a> - glTexImage2D regression by texstore_rgba switch to _mesa_format_convert</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89069">Bug 89069</a> - Lack of grass in The Talos Principle on radeonsi (native\wine\nine)</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89180">Bug 89180</a> - [IVB regression] Rendering issues in Mass Effect through VMware Workstation</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=86330">Bug 86330</a> - lp_bld_debug.cpp:112: multiple definition of `raw_debug_ostream::write_impl(char const*, unsigned long)'</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<ul>
|
||||
<li>Removed support for GCC versions earlier than 4.2.0.</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -1,217 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
<h1>The Mesa 3D Graphics Library</h1>
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 10.5.1 Release Notes / March 13, 2015</h1>
|
||||
|
||||
<p>
|
||||
Mesa 10.5.1 is a bug fix release which fixes bugs found since the 10.5.0 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 10.5.1 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 3.3. OpenGL
|
||||
3.3 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>SHA256 checksums</h2>
|
||||
<pre>
|
||||
b5b6256a6d46023e16a675257fd11a0f94d7b3e60a76cf112952da3d0fef8e9b mesa-10.5.1.tar.gz
|
||||
ffc51943d15c6812ee7611d053d8980a683fbd6a4986cff567b12cc66637d679 mesa-10.5.1.tar.xz
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
<p>None</p>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<p>This list is likely incomplete.</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=79202">Bug 79202</a> - valgrind errors in glsl-fs-uniform-array-loop-unroll.shader_test; random code generation</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=84613">Bug 84613</a> - [G965, bisected] piglit regressions : glslparsertest.glsl2</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=86747">Bug 86747</a> - Noise in Football Manager 2014 textures</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=86974">Bug 86974</a> - INTEL_DEBUG=shader_time always asserts in fs_generator::generate_code() when Mesa is built with --enable-debug (= with asserts)</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=88246">Bug 88246</a> - Commit 2881b12 causes 43 DrawElements test regressions</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=88793">Bug 88793</a> - [BDW/BSW Bisected]Piglit/shaders_glsl-max-varyings fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=88883">Bug 88883</a> - ir-a2xx.c: variable changed in assert statement</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=88885">Bug 88885</a> - Transform feedback uses incorrect interleaving if a previous draw did not write gl_Position</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89095">Bug 89095</a> - [SNB/IVB/BYT Bisected]Webglc conformance/glsl/functions/glsl-function-mix-float.html fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89156">Bug 89156</a> - r300g: GL_COMPRESSED_RED_RGTC1 / ATI1N support broken</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89224">Bug 89224</a> - Incorrect rendering of Unigine Valley running in VM on VMware Workstation</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89292">Bug 89292</a> - [regression,bisected] incomplete screenshots in some cases</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89311">Bug 89311</a> - [regression, bisected] dEQP: Added entry points for glCompressedTextureSubImage*D.</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89312">Bug 89312</a> - [regression, bisected] main: Added entry points for CopyTextureSubImage*D. (d6b7c40cecfe01)</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89315">Bug 89315</a> - [HSW, regression, bisected] i965/fs: Emit MAD instructions when possible.</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89317">Bug 89317</a> - [HSW, regression, bisected] i965: Add LINTERP/CINTERP to can_do_cmod() (d91390634)</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89416">Bug 89416</a> - UE4Editor crash after load project</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89430">Bug 89430</a> - [g965][bisected] arb_copy_image-targets gl_texture* tests fail</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>Andrey Sudnik (1):</p>
|
||||
<ul>
|
||||
<li>i965/vec4: Don't lose the saturate modifier in copy propagation.</li>
|
||||
</ul>
|
||||
|
||||
<p>Chris Forbes (1):</p>
|
||||
<ul>
|
||||
<li>i965/gs: Check newly-generated GS-out VUE map against correct stage</li>
|
||||
</ul>
|
||||
|
||||
<p>Daniel Stone (1):</p>
|
||||
<ul>
|
||||
<li>egl: Take alpha bits into account when selecting GBM formats</li>
|
||||
</ul>
|
||||
|
||||
<p>Emil Velikov (5):</p>
|
||||
<ul>
|
||||
<li>docs: Add sha256 sums for the 10.5.0 release</li>
|
||||
<li>egl/main: no longer export internal function</li>
|
||||
<li>cherry-ignore: ignore a few more commits picked without -x</li>
|
||||
<li>mapi: fix commit 90411b56f6bc817e229d8801ac0adad6d4e3fb7a</li>
|
||||
<li>Update version to 10.5.1</li>
|
||||
</ul>
|
||||
|
||||
<p>Frank Henigman (1):</p>
|
||||
<ul>
|
||||
<li>intel: fix EGLImage renderbuffer _BaseFormat</li>
|
||||
</ul>
|
||||
|
||||
<p>Iago Toral Quiroga (1):</p>
|
||||
<ul>
|
||||
<li>i965: Fix out-of-bounds accesses into pull_constant_loc array</li>
|
||||
</ul>
|
||||
|
||||
<p>Ian Romanick (1):</p>
|
||||
<ul>
|
||||
<li>i965/fs/nir: Use emit_math for nir_op_fpow</li>
|
||||
</ul>
|
||||
|
||||
<p>Ilia Mirkin (3):</p>
|
||||
<ul>
|
||||
<li>freedreno: move fb state copy after checking for size change</li>
|
||||
<li>freedreno/ir3: fix array count returned by TXQ</li>
|
||||
<li>freedreno/ir3: get the # of miplevels from getinfo</li>
|
||||
</ul>
|
||||
|
||||
<p>Jason Ekstrand (2):</p>
|
||||
<ul>
|
||||
<li>meta/TexSubImage: Stash everything other than PIXEL_TRANSFER/store in meta_begin</li>
|
||||
<li>main/base_tex_format: Properly handle STENCIL_INDEX1/4/16</li>
|
||||
</ul>
|
||||
|
||||
<p>Kenneth Graunke (8):</p>
|
||||
<ul>
|
||||
<li>i965: Split Gen4-5 BlitFramebuffer code; prefer BLT over Meta.</li>
|
||||
<li>glsl: Mark array access when copying to a temporary for the ?: operator.</li>
|
||||
<li>i965/fs: Set force_writemask_all on shader_time instructions.</li>
|
||||
<li>i965/fs: Set smear on shader_time diff register.</li>
|
||||
<li>i965/fs: Make emit_shader_time_write return rather than emit.</li>
|
||||
<li>i965/fs: Make get_timestamp() pass back the MOV rather than emitting it.</li>
|
||||
<li>i965/fs: Make emit_shader_time_end() insert before EOT.</li>
|
||||
<li>i965/fs: Don't issue FB writes for bound but unwritten color targets.</li>
|
||||
</ul>
|
||||
|
||||
<p>Laura Ekstrand (2):</p>
|
||||
<ul>
|
||||
<li>main: Fix target checking for CompressedTexSubImage*D.</li>
|
||||
<li>main: Fix target checking for CopyTexSubImage*D.</li>
|
||||
</ul>
|
||||
|
||||
<p>Marc-Andre Lureau (1):</p>
|
||||
<ul>
|
||||
<li>gallium/auxiliary/indices: fix start param</li>
|
||||
</ul>
|
||||
|
||||
<p>Marek Olšák (3):</p>
|
||||
<ul>
|
||||
<li>r300g: fix RGTC1 and LATC1 SNORM formats</li>
|
||||
<li>r300g: fix a crash when resolving into an sRGB texture</li>
|
||||
<li>r300g: fix sRGB->sRGB blits</li>
|
||||
</ul>
|
||||
|
||||
<p>Matt Turner (12):</p>
|
||||
<ul>
|
||||
<li>i965/vec4: Fix implementation of i2b.</li>
|
||||
<li>mesa: Indent break statements and add a missing one.</li>
|
||||
<li>mesa: Free memory allocated for luminance in readpixels.</li>
|
||||
<li>mesa: Correct backwards NULL check.</li>
|
||||
<li>i965: Consider scratch writes to have side effects.</li>
|
||||
<li>i965/fs: Don't use backend_visitor::instructions after creating the CFG.</li>
|
||||
<li>r300g: Use PATH_MAX instead of limiting ourselves to 100 chars.</li>
|
||||
<li>r300g: Check return value of snprintf().</li>
|
||||
<li>i965/fs: Don't propagate cmod to inst with different type.</li>
|
||||
<li>i965: Tell intel_get_memcpy() which direction the memcpy() is going.</li>
|
||||
<li>Revert SHA1 additions.</li>
|
||||
<li>i965: Avoid applying negate to wrong MAD source.</li>
|
||||
</ul>
|
||||
|
||||
<p>Neil Roberts (4):</p>
|
||||
<ul>
|
||||
<li>meta: In pbo_{Get,}TexSubImage don't repeatedly rebind the source tex</li>
|
||||
<li>Revert "common: Fix PBOs for 1D_ARRAY."</li>
|
||||
<li>meta: Allow GL_UN/PACK_IMAGE_HEIGHT in _mesa_meta_pbo_Get/TexSubImage</li>
|
||||
<li>meta: Fix the y offset for 1D_ARRAY in _mesa_meta_pbo_TexSubImage</li>
|
||||
</ul>
|
||||
|
||||
<p>Rob Clark (11):</p>
|
||||
<ul>
|
||||
<li>freedreno/ir3: fix silly typo for binning pass shaders</li>
|
||||
<li>freedreno/a2xx: fix increment in assert</li>
|
||||
<li>freedreno/a4xx: bit of cleanup</li>
|
||||
<li>freedreno: update generated headers</li>
|
||||
<li>freedreno/a4xx: set PC_PRIM_VTX_CNTL.VAROUT properly</li>
|
||||
<li>freedreno: update generated headers</li>
|
||||
<li>freedreno/a4xx: aniso filtering</li>
|
||||
<li>freedreno/ir3: fix up cat6 instruction encodings</li>
|
||||
<li>freedreno/ir3: add support for memory (cat6) instructions</li>
|
||||
<li>freedreno/ir3: handle flat bypass for a4xx</li>
|
||||
<li>freedreno/ir3: fix failed assert in grouping</li>
|
||||
</ul>
|
||||
|
||||
<p>Stefan Dösinger (1):</p>
|
||||
<ul>
|
||||
<li>r300g: Fix the ATI1N swizzle (RGTC1 and LATC1)</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -1,130 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
<h1>The Mesa 3D Graphics Library</h1>
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 10.5.2 Release Notes / March 28, 2015</h1>
|
||||
|
||||
<p>
|
||||
Mesa 10.5.2 is a bug fix release which fixes bugs found since the 10.5.1 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 10.5.2 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 3.3. OpenGL
|
||||
3.3 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>SHA256 checksums</h2>
|
||||
<pre>
|
||||
755220e160a9f22fda0dffd47746f997b6e196d03f8edc390df7793aecaaa541 mesa-10.5.2.tar.gz
|
||||
2f4b6fb77c3e7d6f861558d0884a3073f575e1e673dad8d1b0624e78e9c4dd44 mesa-10.5.2.tar.xz
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
<p>None</p>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<p>This list is likely incomplete.</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=88534">Bug 88534</a> - include/c11/threads_posix.h PTHREAD_MUTEX_RECURSIVE_NP not defined</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89328">Bug 89328</a> - python required to build Mesa release tarballs</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89530">Bug 89530</a> - FTBFS in loader: missing fstat</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89590">Bug 89590</a> - Crash in glLinkProgram with shaders with multiple constant arrays</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89680">Bug 89680</a> - Hard link exist in Mesa 10.5.1 sources</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>Anuj Phogat (1):</p>
|
||||
<ul>
|
||||
<li>glsl: Generate link error for non-matching gl_FragCoord redeclarations</li>
|
||||
</ul>
|
||||
|
||||
<p>Emil Velikov (7):</p>
|
||||
<ul>
|
||||
<li>docs: Add sha256 sums for the 10.5.1 release</li>
|
||||
<li>automake: add missing egl files to the tarball</li>
|
||||
<li>st/egl: don't ship the dri2.c link at the tarball</li>
|
||||
<li>loader: include <sys/stat.h> for non-sysfs builds</li>
|
||||
<li>auxiliary/os: fix the android build - s/drm_munmap/os_munmap/</li>
|
||||
<li>cherry-ignore: add commit non applicable for 10.5</li>
|
||||
<li>Update version to 10.5.2</li>
|
||||
</ul>
|
||||
|
||||
<p>Felix Janda (1):</p>
|
||||
<ul>
|
||||
<li>c11/threads: Use PTHREAD_MUTEX_RECURSIVE by default</li>
|
||||
</ul>
|
||||
|
||||
<p>Francisco Jerez (1):</p>
|
||||
<ul>
|
||||
<li>i965: Set nr_params to the number of uniform components in the VS/GS path.</li>
|
||||
</ul>
|
||||
|
||||
<p>Ilia Mirkin (2):</p>
|
||||
<ul>
|
||||
<li>freedreno/a3xx: use the same layer size for all slices</li>
|
||||
<li>freedreno: fix slice pitch calculations</li>
|
||||
</ul>
|
||||
|
||||
<p>Marek Olšák (1):</p>
|
||||
<ul>
|
||||
<li>radeonsi: increase coords array size for radeon_llvm_emit_prepare_cube_coords</li>
|
||||
</ul>
|
||||
|
||||
<p>Mario Kleiner (2):</p>
|
||||
<ul>
|
||||
<li>glx: Handle out-of-sequence swap completion events correctly. (v2)</li>
|
||||
<li>mapi: Make private copies of name strings provided by client.</li>
|
||||
</ul>
|
||||
|
||||
<p>Rob Clark (1):</p>
|
||||
<ul>
|
||||
<li>freedreno: update generated headers</li>
|
||||
</ul>
|
||||
|
||||
<p>Samuel Iglesias Gonsalvez (2):</p>
|
||||
<ul>
|
||||
<li>glsl: optimize (0 cmp x + y) into (-x cmp y).</li>
|
||||
<li>configure: Introduce new output variable to ax_check_python_mako_module.m4</li>
|
||||
</ul>
|
||||
|
||||
<p>Tapani Pälli (1):</p>
|
||||
<ul>
|
||||
<li>glsl: fix names in lower_constant_arrays_to_uniforms</li>
|
||||
</ul>
|
||||
|
||||
<p>Tom Stellard (1):</p>
|
||||
<ul>
|
||||
<li>clover: Return 0 as storage size for local kernel args that are not set v2</li>
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -1,125 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
<h1>The Mesa 3D Graphics Library</h1>
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 10.5.3 Release Notes / April 12, 2015</h1>
|
||||
|
||||
<p>
|
||||
Mesa 10.5.3 is a bug fix release which fixes bugs found since the 10.5.2 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 10.5.3 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 3.3. OpenGL
|
||||
3.3 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>SHA256 checksums</h2>
|
||||
<pre>
|
||||
2371b8e210ccd19f61dd94b6664d612e5a479ba7d431a074512d87633bd6aeb4 mesa-10.5.3.tar.gz
|
||||
8701ee1be4f5c03238f5e63c1a9bd4cc03a2f6c0155ed42a1ae7d58f18912ba2 mesa-10.5.3.tar.xz
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
<p>None</p>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<p>This list is likely incomplete.</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=83962">Bug 83962</a> - [HSW/BYT]Piglit spec_ARB_gpu_shader5_arb_gpu_shader5-emitstreamvertex_nodraw fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89679">Bug 89679</a> - [NV50] Portal/Half-Life 2 will not start (native Steam)</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89746">Bug 89746</a> - Mesa and LLVM 3.6+ break opengl for genymotion</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89754">Bug 89754</a> - vertexAttrib fails WebGL Conformance test with mesa drivers</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89758">Bug 89758</a> - pow WebGL Conformance test with mesa drivers</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89759">Bug 89759</a> - WebGL OGL ES GLSL conformance test with mesa drivers fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89905">Bug 89905</a> - scons build broken on 10.5.2 due to activated vega st</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>Dave Airlie (1):</p>
|
||||
<ul>
|
||||
<li>st_glsl_to_tgsi: only do mov copy propagation on temps (v2)</li>
|
||||
</ul>
|
||||
|
||||
<p>Emil Velikov (5):</p>
|
||||
<ul>
|
||||
<li>docs: Add sha256 sums for the 10.5.2 release</li>
|
||||
<li>xmlpool: don't forget to ship the MOS</li>
|
||||
<li>configure.ac: error out if python/mako is not found when required</li>
|
||||
<li>dist: add the VG depedencies into the tarball</li>
|
||||
<li>Update version to 10.5.3</li>
|
||||
</ul>
|
||||
|
||||
<p>Iago Toral Quiroga (1):</p>
|
||||
<ul>
|
||||
<li>i965: Do not render primitives in non-zero streams then TF is disabled</li>
|
||||
</ul>
|
||||
|
||||
<p>Ilia Mirkin (7):</p>
|
||||
<ul>
|
||||
<li>st/mesa: update arrays when the current attrib has been updated</li>
|
||||
<li>nv50/ir: take postFactor into account when doing peephole optimizations</li>
|
||||
<li>nv50/ir/gk110: fix offset flag position for TXD opcode</li>
|
||||
<li>freedreno/a3xx: fix 3d texture layout</li>
|
||||
<li>freedreno/a3xx: point size should not be divided by 2</li>
|
||||
<li>nv50: allocate more offset space for occlusion queries</li>
|
||||
<li>nv50,nvc0: limit the y-tiling of 3d textures to the first level's tiling</li>
|
||||
</ul>
|
||||
|
||||
<p>Kenneth Graunke (2):</p>
|
||||
<ul>
|
||||
<li>i965: Fix instanced geometry shaders on Gen8+.</li>
|
||||
<li>i965: Add forgotten multi-stream code to Gen8 SOL state.</li>
|
||||
</ul>
|
||||
|
||||
<p>Marcin Ślusarz (1):</p>
|
||||
<ul>
|
||||
<li>nouveau: synchronize "scratch runout" destruction with the command stream</li>
|
||||
</ul>
|
||||
|
||||
<p>Michel Dänzer (1):</p>
|
||||
<ul>
|
||||
<li>radeonsi: Cache LLVMTargetMachineRef in context instead of in screen</li>
|
||||
</ul>
|
||||
|
||||
<p>Tom Stellard (1):</p>
|
||||
<ul>
|
||||
<li>clover: Return CL_BUILD_ERROR for CL_PROGRAM_BUILD_STATUS when compilation fails v2</li>
|
||||
</ul>
|
||||
|
||||
<p>Ville Syrjälä (1):</p>
|
||||
<ul>
|
||||
<li>i965: Fix URB size for CHV</li>
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -1,125 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
<h1>The Mesa 3D Graphics Library</h1>
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 10.5.4 Release Notes / April 24, 2015</h1>
|
||||
|
||||
<p>
|
||||
Mesa 10.5.4 is a bug fix release which fixes bugs found since the 10.5.3 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 10.5.4 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 3.3. OpenGL
|
||||
3.3 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>SHA256 checksums</h2>
|
||||
<pre>
|
||||
e1089567fc7bf8d9b2d8badcc9f2fc3b758701c8c0ccfe7af1805549fea53f11 mesa-10.5.4.tar.gz
|
||||
b51e723f3a20d842c88a92d809435b229fc4744ca0dbec0317d9d4a3ac4c6803 mesa-10.5.4.tar.xz
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
<p>None</p>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<p>This list is likely incomplete.</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=69226">Bug 69226</a> - Cannot enable basic shaders with Second Life aborts attempt</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=71591">Bug 71591</a> - Second Life shaders fail to compile (extension declared in middle of shader)</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=81025">Bug 81025</a> - [IVB/BYT Bisected]Piglit spec_ARB_draw_indirect_arb_draw_indirect-draw-elements-prim-restart-ugly fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89457">Bug 89457</a> - [BSW Bisected]ogles3conform ES3-CTS.gtf.GL3Tests.shadow.shadow_execution_vert fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89957">Bug 89957</a> - vm protection faults in piglit lest: texsubimage cube_map_array pbo</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>Brian Paul (1):</p>
|
||||
<ul>
|
||||
<li>glsl: rewrite glsl_type::record_key_hash() to avoid buffer overflow</li>
|
||||
</ul>
|
||||
|
||||
<p>Dave Airlie (2):</p>
|
||||
<ul>
|
||||
<li>st/mesa: convert sub image for cube map arrays to 2d arrays for upload</li>
|
||||
<li>st/mesa: align cube map arrays layers</li>
|
||||
</ul>
|
||||
|
||||
<p>Emil Velikov (11):</p>
|
||||
<ul>
|
||||
<li>docs: Add 256 sums for the 10.5.3 release</li>
|
||||
<li>radeonsi: remove unused si_dump_key()</li>
|
||||
<li>android: use LOCAL_SHARED_LIBRARIES over TARGET_OUT_HEADERS</li>
|
||||
<li>android: add $(mesa_top)/src include to the whole of mesa</li>
|
||||
<li>android: egl: add libsync_cflags to the build</li>
|
||||
<li>android: dri/common: conditionally include drm_cflags/set __NOT_HAVE_DRM_H</li>
|
||||
<li>android: add HAVE__BUILTIN_* and HAVE_FUNC_ATTRIBUTE_* defines</li>
|
||||
<li>android: add $(mesa_top)/src/mesa/main to the includes list</li>
|
||||
<li>android: dri: link against libmesa_util</li>
|
||||
<li>android: mesa: fix the path of the SSE4_1 optimisations</li>
|
||||
<li>Update version to 10.5.4</li>
|
||||
</ul>
|
||||
|
||||
<p>Ian Romanick (1):</p>
|
||||
<ul>
|
||||
<li>nir: Fix typo in "ushr by 0" algebraic replacement</li>
|
||||
</ul>
|
||||
|
||||
<p>Kenneth Graunke (2):</p>
|
||||
<ul>
|
||||
<li>i965: Fix software primitive restart with indirect draws.</li>
|
||||
<li>drirc: Add "Second Life" quirk (allow_glsl_extension_directive_midshader).</li>
|
||||
</ul>
|
||||
|
||||
<p>Kristian Høgsberg (1):</p>
|
||||
<ul>
|
||||
<li>i965: Rewrite ir_tex to ir_txl with lod 0 for vertex shaders</li>
|
||||
</ul>
|
||||
|
||||
<p>Marek Olšák (2):</p>
|
||||
<ul>
|
||||
<li>glsl_to_tgsi: fix out-of-bounds constant access and crash for uniforms</li>
|
||||
<li>glsl_to_tgsi: don't use a potentially-undefined immediate for ir_query_levels</li>
|
||||
</ul>
|
||||
|
||||
<p>Mathias Froehlich (1):</p>
|
||||
<ul>
|
||||
<li>i965: Flush batchbuffer containing the query on glQueryCounter.</li>
|
||||
</ul>
|
||||
|
||||
<p>Mauro Rossi (2):</p>
|
||||
<ul>
|
||||
<li>android: mesa: generate the format_{un,}pack.[ch] sources</li>
|
||||
<li>android: add inital NIR build</li>
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -1,95 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
<h1>The Mesa 3D Graphics Library</h1>
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 10.5.5 Release Notes / May 11, 2015</h1>
|
||||
|
||||
<p>
|
||||
Mesa 10.5.5 is a bug fix release which fixes bugs found since the 10.5.4 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 10.5.5 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 3.3. OpenGL
|
||||
3.3 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>SHA256 checksums</h2>
|
||||
<pre>
|
||||
c10f00fd792b8290dd51ebcc48a9016c4cafab19ec205423c6fcadfd7f3a59f2 mesa-10.5.5.tar.gz
|
||||
4ac4e4ea3414f1cadb1467f2f173f9e56170d31e8674f7953a46f0549d319f28 mesa-10.5.5.tar.xz
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
<p>None</p>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<p>This list is likely incomplete.</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=88521">Bug 88521</a> - GLBenchmark 2.7 TRex renders with artifacts on Gen8 with !UXA</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89455">Bug 89455</a> - [NVC0/Gallium] Unigine Heaven black and white boxes</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89689">Bug 89689</a> - [Regression] Weston on DRM backend won't start with new version of mesa</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90130">Bug 90130</a> - gl_PrimitiveId seems to reset at 340</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>Boyan Ding (1):</p>
|
||||
<ul>
|
||||
<li>i965: Add XRGB8888 format to intel_screen_make_configs</li>
|
||||
</ul>
|
||||
|
||||
<p>Emil Velikov (3):</p>
|
||||
<ul>
|
||||
<li>docs: Add sha256 sums for the 10.5.4 release</li>
|
||||
<li>r300: do not link against libdrm_intel</li>
|
||||
<li>Update version to 10.5.5</li>
|
||||
</ul>
|
||||
|
||||
<p>Ilia Mirkin (4):</p>
|
||||
<ul>
|
||||
<li>nvc0/ir: flush denorms to zero in non-compute shaders</li>
|
||||
<li>gk110/ir: fix set with a register dest to not auto-set the abs flag</li>
|
||||
<li>nvc0/ir: fix predicated PFETCH emission</li>
|
||||
<li>nv50/ir: fix asFlow() const helper for OP_JOIN</li>
|
||||
</ul>
|
||||
|
||||
<p>Kenneth Graunke (2):</p>
|
||||
<ul>
|
||||
<li>i965: Make intel_emit_linear_blit handle Gen8+ alignment restrictions.</li>
|
||||
<li>i965: Disallow linear blits that are not cacheline aligned.</li>
|
||||
</ul>
|
||||
|
||||
<p>Roland Scheidegger (1):</p>
|
||||
<ul>
|
||||
<li>draw: fix prim ids when there's no gs</li>
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -1,331 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
<h1>The Mesa 3D Graphics Library</h1>
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 10.6.0 Release Notes / June 14, 2015</h1>
|
||||
|
||||
<p>
|
||||
Mesa 10.6.0 is a new development release.
|
||||
People who are concerned with stability and reliability should stick
|
||||
with a previous release or wait for Mesa 10.6.1.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 10.6.0 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 3.3. OpenGL
|
||||
3.3 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>SHA256 checksums</h2>
|
||||
<pre>
|
||||
9bc659abdba26202509304f259723aaa4343dba6aac4bd87d5baea11d23c8c63 mesa-10.6.0.tar.gz
|
||||
f37e2633978deed02ff0522abc36c709586e2b555fd439a82ab71dce2c866c76 mesa-10.6.0.tar.xz
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
|
||||
<p>
|
||||
Note: some of the new features are only available with certain drivers.
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>GL_AMD_pinned_memory on r600, radeonsi</li>
|
||||
<li>GL_ARB_clip_control on i965</li>
|
||||
<li>GL_ARB_depth_buffer_float on freedreno</li>
|
||||
<li>GL_ARB_depth_clamp on freedreno</li>
|
||||
<li>GL_ARB_direct_state_access on all drivers that support GL 2.0+</li>
|
||||
<li>GL_ARB_draw_indirect, GL_ARB_multi_draw_indirect on r600</li>
|
||||
<li>GL_ARB_draw_instanced on freedreno</li>
|
||||
<li>GL_ARB_gpu_shader_fp64 on nvc0, softpipe</li>
|
||||
<li>GL_ARB_gpu_shader5 on i965/gen8+</li>
|
||||
<li>GL_ARB_instanced_arrays on freedreno</li>
|
||||
<li>GL_ARB_pipeline_statistics_query on i965, nv50, nvc0, r600, radeonsi, softpipe</li>
|
||||
<li>GL_ARB_program_interface_query (all drivers)</li>
|
||||
<li>GL_ARB_texture_stencil8 on nv50, nvc0, r600, radeonsi, softpipe</li>
|
||||
<li>GL_ARB_texture_view on llvmpipe, softpipe</li>
|
||||
<li>GL_ARB_uniform_buffer_object on freedreno</li>
|
||||
<li>GL_ARB_vertex_attrib_64bit on nvc0, softpipe</li>
|
||||
<li>GL_ARB_viewport_array, GL_AMD_vertex_shader_viewport_index on i965/gen6</li>
|
||||
<li>GL_EXT_draw_buffers2 on freedreno</li>
|
||||
<li>GL_OES_EGL_sync on all drivers</li>
|
||||
<li>EGL_KHR_fence_sync on i965, freedreno, nv50, nvc0, r600, radeonsi</li>
|
||||
<li>EGL_KHR_wait_sync on i965, freedreno, nv50, nvc0, r600, radeonsi</li>
|
||||
<li>EGL_KHR_cl_event2 on freedreno, nv50, nvc0, r600, radeonsi</li>
|
||||
<li>GL_AMD_performance_monitor on nvc0</li>
|
||||
</ul>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<p>This list is likely incomplete.</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=15006">Bug 15006</a> - translate & rotate the line cause Aliasing</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=27007">Bug 27007</a> - Lines disappear with GL_LINE_SMOOTH</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28832">Bug 28832</a> - piglit/general/line-aa-width fail</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=45348">Bug 45348</a> - [swrast] piglit fbo-drawbuffers-arbfp regression</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=60797">Bug 60797</a> - 1px lines in octave plot aliased to 0</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=67564">Bug 67564</a> - HiZ buffers are much larger than necessary</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=69226">Bug 69226</a> - Cannot enable basic shaders with Second Life aborts attempt</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=71591">Bug 71591</a> - Second Life shaders fail to compile (extension declared in middle of shader)</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=79202">Bug 79202</a> - valgrind errors in glsl-fs-uniform-array-loop-unroll.shader_test; random code generation</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=81025">Bug 81025</a> - [IVB/BYT Bisected]Piglit spec_ARB_draw_indirect_arb_draw_indirect-draw-elements-prim-restart-ugly fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=82477">Bug 82477</a> - [softpipe] piglit fp-long-alu regression</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=82668">Bug 82668</a> - Can't set int attributes to certain values on 32-bit</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=82831">Bug 82831</a> - i965: Support GL_ARB_blend_func_extended in SIMD16</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=83962">Bug 83962</a> - [HSW/BYT]Piglit spec_ARB_gpu_shader5_arb_gpu_shader5-emitstreamvertex_nodraw fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=84613">Bug 84613</a> - [G965, bisected] piglit regressions : glslparsertest.glsl2</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=86747">Bug 86747</a> - Noise in Football Manager 2014 textures</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=86792">Bug 86792</a> - [NVC0] Portal 2 Crashes in Wine</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=86811">Bug 86811</a> - [BDW/BSW Bisected]Piglit spec_arb_shading_language_packing_execution_built-in-functions_vs-unpackSnorm4x8 fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=86837">Bug 86837</a> - kodi segfault since auxiliary/vl: rework the build of the VL code</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=86944">Bug 86944</a> - glsl_parser_extras.cpp", line 1455: Error: Badly formed expression. (Oracle Studio)</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=86974">Bug 86974</a> - INTEL_DEBUG=shader_time always asserts in fs_generator::generate_code() when Mesa is built with --enable-debug (= with asserts)</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=86980">Bug 86980</a> - [swrast] piglit fp-rfl regression</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=87258">Bug 87258</a> - [BDW/BSW Bisected]Piglit spec_ARB_shader_atomic_counters_array-indexing fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=88246">Bug 88246</a> - Commit 2881b12 causes 43 DrawElements test regressions</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=88248">Bug 88248</a> - Calling glClear while there is an occlusion query in progress messes up the results</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=88521">Bug 88521</a> - GLBenchmark 2.7 TRex renders with artifacts on Gen8 with !UXA</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=88534">Bug 88534</a> - include/c11/threads_posix.h PTHREAD_MUTEX_RECURSIVE_NP not defined</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=88561">Bug 88561</a> - [radeonsi][regression,bisected] Depth test/buffer issues in Portal</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=88793">Bug 88793</a> - [BDW/BSW Bisected]Piglit/shaders_glsl-max-varyings fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=88815">Bug 88815</a> - Incorrect handling of GLSL #line directive</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=88883">Bug 88883</a> - ir-a2xx.c: variable changed in assert statement</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=88885">Bug 88885</a> - Transform feedback uses incorrect interleaving if a previous draw did not write gl_Position</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=88905">Bug 88905</a> - [SNB+ Bisected]Ogles3conform ES3-CTS.gtf.GL3Tests.packed_pixels.packed_pixels fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=88999">Bug 88999</a> - [SKL] Compiz crashes after opening unity dash</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89014">Bug 89014</a> - PIPE_QUERY_GPU_FINISHED is not acting as expected on SI</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89026">Bug 89026</a> - Renderbuffer layered state used for framebuffer completeness test</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89032">Bug 89032</a> - [BDW/BSW/SKL Bisected]Piglit spec_OpenGL_1.1_infinite-spot-light fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89037">Bug 89037</a> - [SKL]Piglit spec_EXT_texture_array_copyteximage_1D_ARRAY_samples=2 sporadically causes GPU hang</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89039">Bug 89039</a> - [SKL]etqw system hang</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89058">Bug 89058</a> - [SKL]Render error in some games (etqw-demo, nexuiz, portal)</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89068">Bug 89068</a> - glTexImage2D regression by texstore_rgba switch to _mesa_format_convert</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89069">Bug 89069</a> - Lack of grass in The Talos Principle on radeonsi (native\wine\nine)</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89094">Bug 89094</a> - [SNB/IVB/HSW/BYT Bisected]Ogles3conform ES3-CTS.gtf.GL3Tests.shadow.shadow_execution_vert fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89095">Bug 89095</a> - [SNB/IVB/BYT Bisected]Webglc conformance/glsl/functions/glsl-function-mix-float.html fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89112">Bug 89112</a> - u_atomic_test: u_atomic_test.c:124: test_atomic_8bits_bool: Assertion `r == 65 && "p_atomic_add"' failed.</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89118">Bug 89118</a> - [SKL Bisected]many Ogles3conform cases core dumped</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89131">Bug 89131</a> - [Bisected] Graphical corruption in Weston, shows old framebuffer pieces</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89156">Bug 89156</a> - r300g: GL_COMPRESSED_RED_RGTC1 / ATI1N support broken</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89180">Bug 89180</a> - [IVB regression] Rendering issues in Mass Effect through VMware Workstation</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89210">Bug 89210</a> - GS statistics fail on SNB</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89218">Bug 89218</a> - lower_instructions.cpp:648:48: error: invalid suffix 'd' on floating constant</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89224">Bug 89224</a> - Incorrect rendering of Unigine Valley running in VM on VMware Workstation</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89260">Bug 89260</a> - macros.h:34:25: fatal error: util/u_math.h: No such file or directory</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89292">Bug 89292</a> - [regression,bisected] incomplete screenshots in some cases</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89311">Bug 89311</a> - [regression, bisected] dEQP: Added entry points for glCompressedTextureSubImage*D.</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89312">Bug 89312</a> - [regression, bisected] main: Added entry points for CopyTextureSubImage*D. (d6b7c40cecfe01)</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89315">Bug 89315</a> - [HSW, regression, bisected] i965/fs: Emit MAD instructions when possible.</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89317">Bug 89317</a> - [HSW, regression, bisected] i965: Add LINTERP/CINTERP to can_do_cmod() (d91390634)</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89328">Bug 89328</a> - python required to build Mesa release tarballs</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89342">Bug 89342</a> - main/light.c:159:62: error: 'M_PI' undeclared (first use in this function)</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89343">Bug 89343</a> - compiler/tests/radeon_compiler_optimize_tests.c:43:3: error: implicit declaration of function ‘fprintf’ [-Werror=implicit-function-declaration]</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89345">Bug 89345</a> - imports.h:452:58: error: expected declaration specifiers or '...' before 'va_list'</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89364">Bug 89364</a> - c99_alloca.h:40:22: fatal error: alloca.h: No such file or directory</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89372">Bug 89372</a> - [softpipe] piglit glsl-1.50 generate-zero-primitives regression</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89387">Bug 89387</a> - Double delete in lp_bld_misc.cpp</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89416">Bug 89416</a> - UE4Editor crash after load project</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89430">Bug 89430</a> - [g965][bisected] arb_copy_image-targets gl_texture* tests fail</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89433">Bug 89433</a> - GCC 4.2 does not support -Wvla</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89455">Bug 89455</a> - [NVC0/Gallium] Unigine Heaven black and white boxes</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89457">Bug 89457</a> - [BSW Bisected]ogles3conform ES3-CTS.gtf.GL3Tests.shadow.shadow_execution_vert fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89477">Bug 89477</a> - include/no_extern_c.h:47:1: error: template with C linkage</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89508">Bug 89508</a> - Bad int(floatBitsToInt(vec4))</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89530">Bug 89530</a> - FTBFS in loader: missing fstat</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89569">Bug 89569</a> - Papo & Yo crash on startup [HSW]</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89590">Bug 89590</a> - Crash in glLinkProgram with shaders with multiple constant arrays</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89662">Bug 89662</a> - context.c:943: undefined reference to `_glapi_new_nop_table'</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89670">Bug 89670</a> - cmod_propagation_test.andnz_one regression</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89679">Bug 89679</a> - [NV50] Portal/Half-Life 2 will not start (native Steam)</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89689">Bug 89689</a> - [Regression] Weston on DRM backend won't start with new version of mesa</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89722">Bug 89722</a> - [ILK Bisected]Ogles2conform/ES2-CTS.gtf.GL.equal.equal_vec2_frag fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89726">Bug 89726</a> - [Bisected] dEQP-GLES3: uniform linking logic in the presence of structs</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89746">Bug 89746</a> - Mesa and LLVM 3.6+ break opengl for genymotion</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89754">Bug 89754</a> - vertexAttrib fails WebGL Conformance test with mesa drivers</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89758">Bug 89758</a> - pow WebGL Conformance test with mesa drivers</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89759">Bug 89759</a> - WebGL OGL ES GLSL conformance test with mesa drivers fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89831">Bug 89831</a> - [r600] r600_asm.c:310:assign_alu_units: Assertion `0' failed.</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89899">Bug 89899</a> - nir/nir_lower_tex_projector.c:112: error: unknown field ‘ssa’ specified in initializer</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89957">Bug 89957</a> - vm protection faults in piglit lest: texsubimage cube_map_array pbo</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89960">Bug 89960</a> - [softpipe] piglit copy-pixels regreession</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89961">Bug 89961</a> - [BDW/BSW Bisected]Synmark2_v6 OglDrvRes/OglDrvShComp/OglDrvState/OglPSPom Image Validation fail</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89963">Bug 89963</a> - lp_bld_debug.cpp:100:31: error: no matching function for call to ‘llvm::raw_ostream::raw_ostream()’</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90000">Bug 90000</a> - [i965 Bisected NIR] Piglit/gglean_fragprog1-z-write_test fail</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90109">Bug 90109</a> - [SNB+ Bisected]Ogles3conform ES3-CTS.shaders.uniform_block.random.basic_arrays.3 fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90114">Bug 90114</a> - [SNB+ Bisected]Ogles3conform ES3-CTS.shaders.struct.uniform.sampler_array_fragment fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90130">Bug 90130</a> - gl_PrimitiveId seems to reset at 340</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90147">Bug 90147</a> - swrast: build error undeclared _SC_PHYS_PAGES on osx</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90149">Bug 90149</a> - [SNB+ Bisected]ES3-CTS.gtf.GL3Tests.uniform_buffer_object.uniform_buffer_object_getactiveuniformsiv_for_nonexistent_uniform_indices fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90153">Bug 90153</a> - [SKL Bisected]ES3-CTS.gtf.GL3Tests.uniform_buffer_object.uniform_buffer_object_all_valid_basic_types fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90167">Bug 90167</a> - [softpipe] piglit depthstencil-default_fb-drawpixels-32f_24_8_rev regression</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90207">Bug 90207</a> - [r600g, bisected] regression: NI/Turks crash on WebGL Water (most WebGL stuff)</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90213">Bug 90213</a> - glDrawPixels with GL_COLOR_INDEX never returns.</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90243">Bug 90243</a> - [bisected] regression: spec.!opengl 3_2.get-active-attrib-returns-all-inputs</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90258">Bug 90258</a> - [IVB] spec.glsl-1_10.execution.fs-dfdy-accuracy fails intermittently</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90310">Bug 90310</a> - Fails to build gallium_dri.so at linking stage with clang because of multiple redefinitions</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90350">Bug 90350</a> - [G96] Portal's portal are incorrectly rendered</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90363">Bug 90363</a> - [nv50] HW state is not reset correctly when using a new GL context</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90397">Bug 90397</a> - ARB_program_interface_query: glGetProgramResourceiv() returns wrong value for GL_REFERENCED_BY_*_SHADER prop for GL_UNIFORM for members of an interface block with an instance name</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90466">Bug 90466</a> - arm: linker error ndefined reference to `nir_metadata_preserve'</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90520">Bug 90520</a> - Register spilling clobbers registers used elsewhere in the shader</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90547">Bug 90547</a> - [BDW/BSW/SKL Bisected]Piglit/glean@vertprog1-rsq_test_2_(reciprocal_square_root_of_negative_value) fais</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90580">Bug 90580</a> - [HSW bisected] integer multiplication bug</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90629">Bug 90629</a> - [i965] SIMD16 dual_source_blend assertion `src[i].file != GRF || src[i].width == dst.width' failed</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90749">Bug 90749</a> - [BDW Bisected]dEQP-GLES3.functional.rasterization.fbo.rbo_multisample_max.primitives.lines_wide fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90830">Bug 90830</a> - [bsw bisected regression] GPU hang for spec.arb_gpu_shader5.execution.sampler_array_indexing.vs-nonzero-base</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90839">Bug 90839</a> - [10.5.5/10.6 regression, bisected] PBO glDrawPixels no longer using blit fastpath</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90905">Bug 90905</a> - mesa: Finish subdir-objects transition</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=9951">Bug 9951</a> - GL_LINE_SMOOTH and GL_POLYGON_SMOOTH with i965 driver</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<ul>
|
||||
<li>Removed classic Windows software rasterizer.</li>
|
||||
<li>Removed egl_gallium EGL driver.</li>
|
||||
<li>Removed gbm_gallium GBM driver.</li>
|
||||
<li>Removed OpenVG support.</li>
|
||||
<li>Removed the galahad gallium driver.</li>
|
||||
<li>Removed the identity gallium driver.</li>
|
||||
<li>Removed the EGL loader from the Windows SCons build.</li>
|
||||
<li>Removed the classic osmesa from the Windows SCons build.</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -1,104 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
<h1>The Mesa 3D Graphics Library</h1>
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 10.6.1 Release Notes / June 29, 2015</h1>
|
||||
|
||||
<p>
|
||||
Mesa 10.6.1 is a bug fix release which fixes bugs found since the 10.6.0 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 10.6.1 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 3.3. OpenGL
|
||||
3.3 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>SHA256 checksums</h2>
|
||||
<pre>
|
||||
b4cccd4d0eabcc2bca00c3175d3ad88fdda57ffdb883a7998525b873a21fe607 mesa-10.6.1.tar.gz
|
||||
6c80a2b647e57c85dc36e609d9aed17f878f0d8e0cf9ace86d14cf604101e1eb mesa-10.6.1.tar.xz
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
<p>None</p>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<p>This list is likely incomplete.</p>
|
||||
<ul>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90347">Bug 90347</a> - [NVE0+] Failure to insert texbar under some circumstances (causing bad colors in Terasology)</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>Anuj Phogat (4):</p>
|
||||
<ul>
|
||||
<li>mesa: Handle integer formats in need_rgb_to_luminance_conversion()</li>
|
||||
<li>mesa: Use helper function need_rgb_to_luminance_conversion()</li>
|
||||
<li>mesa: Turn need_rgb_to_luminance_conversion() in to a global function</li>
|
||||
<li>meta: Abort meta path if ReadPixels need rgb to luminance conversion</li>
|
||||
</ul>
|
||||
|
||||
<p>Ben Widawsky (1):</p>
|
||||
<ul>
|
||||
<li>i965/gen9: Implement Push Constant Buffer workaround</li>
|
||||
</ul>
|
||||
|
||||
<p>Boyan Ding (2):</p>
|
||||
<ul>
|
||||
<li>egl/x11: Set version of swrastLoader to 2</li>
|
||||
<li>egl/x11: Remove duplicate call to dri2_x11_add_configs_for_visuals</li>
|
||||
</ul>
|
||||
|
||||
<p>Emil Velikov (6):</p>
|
||||
<ul>
|
||||
<li>docs: Add sha256sums for the 10.6.0 release</li>
|
||||
<li>configure: warn about shared_glapi & xlib-glx only when both are set</li>
|
||||
<li>configure: error out when building backend-less libEGL</li>
|
||||
<li>configure: error out when building libEGL without shared-glapi</li>
|
||||
<li>gbm: do not (over)link against libglapi.so</li>
|
||||
<li>Update version to 10.6.1</li>
|
||||
</ul>
|
||||
|
||||
<p>Frank Henigman (1):</p>
|
||||
<ul>
|
||||
<li>gbm: dlopen libglapi so gbm_create_device works</li>
|
||||
</ul>
|
||||
|
||||
<p>Ilia Mirkin (9):</p>
|
||||
<ul>
|
||||
<li>nvc0/ir: fix collection of first uses for texture barrier insertion</li>
|
||||
<li>nv50,nvc0: clamp uniform size to 64k</li>
|
||||
<li>nvc0/ir: can't have a join on a load with an indirect source</li>
|
||||
<li>glsl: handle conversions to double when comparing param matches</li>
|
||||
<li>glsl: add version checks to conditionals for builtin variable enablement</li>
|
||||
<li>mesa: add GL_PROGRAM_PIPELINE support in KHR_debug calls</li>
|
||||
<li>glsl: binding point is a texture unit, which is a combined space</li>
|
||||
<li>nvc0: always put all tfb bufs into bufctx</li>
|
||||
<li>nv50,nvc0: make sure to pushbuf_refn before putting bo into pushbuf_data</li>
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -1,165 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
<h1>The Mesa 3D Graphics Library</h1>
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 10.6.2 Release Notes / July 11, 2015</h1>
|
||||
|
||||
<p>
|
||||
Mesa 10.6.2 is a bug fix release which fixes bugs found since the 10.6.1 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 10.6.2 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 3.3. OpenGL
|
||||
3.3 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>SHA256 checksums</h2>
|
||||
<pre>
|
||||
9c7ab9300dda6c912faaaff97995ec1820ba21d114d9cf555f145cbad90995f4 mesa-10.6.2.tar.gz
|
||||
05753d3db4212900927b9894221a1669a10f56786e86a7e818b6e18a0817dca9 mesa-10.6.2.tar.xz
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
<p>None</p>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<p>This list is likely incomplete.</p>
|
||||
<ul>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=73528">Bug 73528</a> - Deferred lighting in Second Life causes system hiccups and screen flickering</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=80500">Bug 80500</a> - Flickering shadows in unreleased title trace</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=82186">Bug 82186</a> - [r600g] BARTS GPU lockup with minecraft shaders</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=84225">Bug 84225</a> - Allow constant-index-expression sampler array indexing with GLSL-ES < 300</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90537">Bug 90537</a> - radeonsi bo/va conflict on RADEON_GEM_VA (rscreen->ws->buffer_from_handle returns NULL)</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90873">Bug 90873</a> - Kernel hang, TearFree On, Mate desktop environment</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91022">Bug 91022</a> - [g45 g965 bisected] assertions generated from textureGrad cube samplers fix</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91047">Bug 91047</a> - [SNB Bisected] Messed up Fog in Super Smash Bros. Melee in Dolphin</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91056">Bug 91056</a> - The Bard's Tale (2005, native) has rendering issues</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91117">Bug 91117</a> - Nimbus (running in wine) has rendering issues, objects are semi-transparent</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91124">Bug 91124</a> - Civilization V (in Wine) has rendering issues: text missing, menu bar corrupted</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91173">Bug 91173</a> - Oddworld: Stranger's Wrath HD: disfigured models in wrong colors</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91226">Bug 91226</a> - Crash in glLinkProgram (NEW)</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91231">Bug 91231</a> - [NV92] Psychonauts (native) segfaults on start when DRI3 enabled</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>Chris Wilson (1):</p>
|
||||
<ul>
|
||||
<li>loader: Look for any version of currently linked libudev.so</li>
|
||||
</ul>
|
||||
|
||||
<p>Emil Velikov (2):</p>
|
||||
<ul>
|
||||
<li>docs: Add sha256 checksums for the 10.6.1 release</li>
|
||||
<li>Update version to 10.6.2</li>
|
||||
</ul>
|
||||
|
||||
<p>Ilia Mirkin (8):</p>
|
||||
<ul>
|
||||
<li>nv50/ir: propagate modifier to right arg when const-folding mad</li>
|
||||
<li>nv50/ir: fix emission of address reg in 3rd source</li>
|
||||
<li>nv50/ir: copy joinAt when splitting both before and after</li>
|
||||
<li>mesa: reset the source packing when creating temp transfer image</li>
|
||||
<li>nv50/ir: don't emit src2 in immediate form</li>
|
||||
<li>mesa/prog: relative offsets into constbufs are not constant</li>
|
||||
<li>nv50/ir: UCMP arguments are float, so make sure modifiers are applied</li>
|
||||
<li>nvc0: turn sample counts off during blit</li>
|
||||
</ul>
|
||||
|
||||
<p>Kenneth Graunke (5):</p>
|
||||
<ul>
|
||||
<li>i965/fs: Fix ir_txs in emit_texture_gen4_simd16().</li>
|
||||
<li>i965: Reserve more batch space to accomodate Gen6 perfmonitors.</li>
|
||||
<li>i965/vs: Fix matNxM vertex attributes where M != 4.</li>
|
||||
<li>Revert "glsl: clone inputs and outputs during linking"</li>
|
||||
<li>Revert "i965: Delete linked GLSL IR when using NIR."</li>
|
||||
</ul>
|
||||
|
||||
<p>Marek Olšák (3):</p>
|
||||
<ul>
|
||||
<li>r600g: disable single-sample fast color clear due to hangs</li>
|
||||
<li>radeonsi: fix a hang with DrawTransformFeedback on 4 SE chips</li>
|
||||
<li>st/dri: don't set PIPE_BIND_SCANOUT for MSAA surfaces</li>
|
||||
</ul>
|
||||
|
||||
<p>Mario Kleiner (2):</p>
|
||||
<ul>
|
||||
<li>nouveau: Use dup fd as key in drm-winsys hash table to fix ZaphodHeads.</li>
|
||||
<li>winsys/radeon: Use dup fd as key in drm-winsys hash table to fix ZaphodHeads.</li>
|
||||
</ul>
|
||||
|
||||
<p>Matt Turner (2):</p>
|
||||
<ul>
|
||||
<li>i965/fs: Don't mess up stride for uniform integer multiplication.</li>
|
||||
<li>Revert SHA1 additions.</li>
|
||||
</ul>
|
||||
|
||||
<p>Michel Dänzer (1):</p>
|
||||
<ul>
|
||||
<li>winsys/radeon: Unmap GPU VM address range when destroying BO</li>
|
||||
</ul>
|
||||
|
||||
<p>Mike Stroyan (2):</p>
|
||||
<ul>
|
||||
<li>meta: Only change and restore viewport 0 in mesa meta mode</li>
|
||||
<li>i965: allocate at least 1 BLEND_STATE element</li>
|
||||
</ul>
|
||||
|
||||
<p>Neil Roberts (4):</p>
|
||||
<ul>
|
||||
<li>i965/skl: Set the pulls bary bit in 3DSTATE_PS_EXTRA</li>
|
||||
<li>glsl: Add missing check for whether an expression is an add operation</li>
|
||||
<li>glsl: Make sure not to dereference NULL</li>
|
||||
<li>i965: Don't try to print the GLSL IR if it has been freed</li>
|
||||
</ul>
|
||||
|
||||
<p>Tapani Pälli (8):</p>
|
||||
<ul>
|
||||
<li>glsl: clone inputs and outputs during linking</li>
|
||||
<li>i965: Delete linked GLSL IR when using NIR.</li>
|
||||
<li>glsl: Allow dynamic sampler array indexing with GLSL ES < 3.00</li>
|
||||
<li>mesa/glsl: new compiler option EmitNoIndirectSampler</li>
|
||||
<li>i965: use EmitNoIndirectSampler for gen < 7</li>
|
||||
<li>i915: use EmitNoIndirectSampler</li>
|
||||
<li>mesa/st: use EmitNoIndirectSampler if !ARB_gpu_shader5</li>
|
||||
<li>glsl: validate sampler array indexing for 'constant-index-expression'</li>
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -1,106 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
<h1>The Mesa 3D Graphics Library</h1>
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 10.6.3 Release Notes / July 26, 2015</h1>
|
||||
|
||||
<p>
|
||||
Mesa 10.6.3 is a bug fix release which fixes bugs found since the 10.6.2 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 10.6.3 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 3.3. OpenGL
|
||||
3.3 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>SHA256 checksums</h2>
|
||||
<pre>
|
||||
c27e1e33798e69a6d2d2425aee8ac7b4c0b243066a65dd76cbb182ea31b1c7f2 mesa-10.6.3.tar.gz
|
||||
58592e07c350cd2e8969b73fa83048c657a39fe2f13f3b88f5e5818fe2e4676d mesa-10.6.3.tar.xz
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
<p>None</p>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<p>This list is likely incomplete.</p>
|
||||
<ul>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90728">Bug 90728</a> - dvd playback with vlc and vdpau causes segmentation fault</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91337">Bug 91337</a> - OSMesaGetProcAdress("OSMesaPixelStore") returns nil</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>Brian Paul (1):</p>
|
||||
<ul>
|
||||
<li>osmesa: fix OSMesaPixelsStore typo</li>
|
||||
</ul>
|
||||
|
||||
<p>Chad Versace (1):</p>
|
||||
<ul>
|
||||
<li>mesa: Fix generation of git_sha1.h.tmp for gitlinks</li>
|
||||
</ul>
|
||||
|
||||
<p>Christian König (2):</p>
|
||||
<ul>
|
||||
<li>vl: cleanup video buffer private when the decoder is destroyed</li>
|
||||
<li>st/vdpau: fix mixer size checks</li>
|
||||
</ul>
|
||||
|
||||
<p>Emil Velikov (3):</p>
|
||||
<ul>
|
||||
<li>docs: Add sha256 checksums for the 10.6.2 release</li>
|
||||
<li>auxiliary/vl: use the correct screen index</li>
|
||||
<li>Update version to 10.6.3</li>
|
||||
</ul>
|
||||
|
||||
<p>Francisco Jerez (1):</p>
|
||||
<ul>
|
||||
<li>i965/gen9: Use custom MOCS entries set up by the kernel.</li>
|
||||
</ul>
|
||||
|
||||
<p>Ilia Mirkin (5):</p>
|
||||
<ul>
|
||||
<li>nv50, nvc0: enable at least one color RT if alphatest is enabled</li>
|
||||
<li>nvc0/ir: fix txq on indirect samplers</li>
|
||||
<li>nvc0/ir: don't worry about sampler in txq handling</li>
|
||||
<li>gm107/ir: fix indirect txq emission</li>
|
||||
<li>nv50: fix max level clamping on G80</li>
|
||||
</ul>
|
||||
|
||||
<p>Kenneth Graunke (1):</p>
|
||||
<ul>
|
||||
<li>program: Allow redundant OPTION ARB_fog_* directives.</li>
|
||||
</ul>
|
||||
|
||||
<p>Rob Clark (1):</p>
|
||||
<ul>
|
||||
<li>xa: don't leak fences</li>
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -1,137 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
<h1>The Mesa 3D Graphics Library</h1>
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 10.6.4 Release Notes / August 11, 2015</h1>
|
||||
|
||||
<p>
|
||||
Mesa 10.6.4 is a bug fix release which fixes bugs found since the 10.6.3 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 10.6.4 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 3.3. OpenGL
|
||||
3.3 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>SHA256 checksums</h2>
|
||||
<pre>
|
||||
4960bf17d8b5d6a6503c6954ec6cf480b5cd930797bac901c60bea192675f85e mesa-10.6.4.tar.gz
|
||||
8f5ac103f0f503de2f7a985b0df349bd4ecdfe7f51c714be146fa5a9a3c07b77 mesa-10.6.4.tar.xz
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
<p>None</p>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<p>This list is likely incomplete.</p>
|
||||
<ul>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=73512">Bug 73512</a> - [clover] mesa.icd. should contain full path</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91290">Bug 91290</a> - SIGSEGV glcpp/glcpp-parse.y:1077</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>Anuj Phogat (6):</p>
|
||||
<ul>
|
||||
<li>mesa: Turn get_readpixels_transfer_ops() in to a global function</li>
|
||||
<li>meta: Fix transfer operations check in meta pbo path for readpixels</li>
|
||||
<li>meta: Abort meta pbo path if readpixels need signed-unsigned conversion</li>
|
||||
<li>meta: Don't do fragment color clamping in _mesa_meta_pbo_GetTexSubImage</li>
|
||||
<li>mesa: Add a helper function _mesa_need_luminance_to_rgb_conversion()</li>
|
||||
<li>meta: Fix reading luminance texture as rgba in _mesa_meta_pbo_GetTexSubImage()</li>
|
||||
</ul>
|
||||
|
||||
<p>Ben Widawsky (1):</p>
|
||||
<ul>
|
||||
<li>i965/skl: Add production thread counts and URB size</li>
|
||||
</ul>
|
||||
|
||||
<p>Eduardo Lima Mitev (3):</p>
|
||||
<ul>
|
||||
<li>mesa: Fix errors values returned by glShaderBinary()</li>
|
||||
<li>mesa: Validate target before resolving tex obj in glTex(ture)SubImageXD</li>
|
||||
<li>mesa: Fix error returned by glCopyTexImage2D() upon an invalid internal format</li>
|
||||
</ul>
|
||||
|
||||
<p>Emil Velikov (6):</p>
|
||||
<ul>
|
||||
<li>docs: Add checksums for mesa 10.6.3 tarballs</li>
|
||||
<li>configure.ac: do not set HAVE_DRI(23) when libdrm is missing</li>
|
||||
<li>egl/wayland: libdrm is a hard requirement, treat it as such</li>
|
||||
<li>winsys/radeon: don't leak the fd when it is 0</li>
|
||||
<li>bugzilla_mesa.sh: sort the bugs list by number</li>
|
||||
<li>Update version to 10.6.4</li>
|
||||
</ul>
|
||||
|
||||
<p>Francisco Jerez (1):</p>
|
||||
<ul>
|
||||
<li>i965/fs: Fix fs_inst::regs_read() for sources in the ATTR file.</li>
|
||||
</ul>
|
||||
|
||||
<p>Frank Binns (2):</p>
|
||||
<ul>
|
||||
<li>egl/dri: Add error info needed for EGL_EXT_image_dma_buf_import extension</li>
|
||||
<li>egl: Add eglQuerySurface surface type check for EGL_LARGEST_PBUFFER attrib</li>
|
||||
</ul>
|
||||
|
||||
<p>Igor Gnatenko (1):</p>
|
||||
<ul>
|
||||
<li>opencl: use versioned .so in mesa.icd</li>
|
||||
</ul>
|
||||
|
||||
<p>Ilia Mirkin (1):</p>
|
||||
<ul>
|
||||
<li>nvc0: fix geometry program revalidation of clipping params</li>
|
||||
</ul>
|
||||
|
||||
<p>Kenneth Graunke (1):</p>
|
||||
<ul>
|
||||
<li>glsl: Fix a bug where LHS swizzles of swizzles were too small.</li>
|
||||
</ul>
|
||||
|
||||
<p>Marek Olšák (6):</p>
|
||||
<ul>
|
||||
<li>st/mesa: don't call st_validate_state in BlitFramebuffer</li>
|
||||
<li>radeonsi: upload shader rodata after updating scratch relocations</li>
|
||||
<li>st/mesa: don't ignore texture buffer state changes</li>
|
||||
<li>radeonsi: rework how shader pointers to descriptors are set</li>
|
||||
<li>radeonsi: completely rework updating descriptors without CP DMA</li>
|
||||
<li>r600g: fix the CB_SHADER_MASK setup</li>
|
||||
</ul>
|
||||
|
||||
<p>Samuel Iglesias Gonsalvez (1):</p>
|
||||
<ul>
|
||||
<li>glsl/glcpp: fix SIGSEGV when checking error condition for macro redefinition</li>
|
||||
</ul>
|
||||
|
||||
<p>Samuel Pitoiset (1):</p>
|
||||
<ul>
|
||||
<li>nv50: avoid segfault with enabled but unbound vertex attrib</li>
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -1,124 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
<h1>The Mesa 3D Graphics Library</h1>
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 10.6.5 Release Notes / August 22, 2015</h1>
|
||||
|
||||
<p>
|
||||
Mesa 10.6.5 is a bug fix release which fixes bugs found since the 10.6.4 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 10.6.5 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 3.3. OpenGL
|
||||
3.3 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>SHA256 checksums</h2>
|
||||
<pre>
|
||||
afe290fc7af75a25df5ee52396a9f09e5dba85fb3e159304bdda265b8564b0d4 mesa-10.6.5.tar.gz
|
||||
fb6fac3c85bcfa9d06b8dd439169f23f0c0924a88e44362e738b99b1feff762f mesa-10.6.5.tar.xz
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
<p>None</p>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<p>This list is likely incomplete.</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=85252">Bug 85252</a> - Segfault in compiler while processing ternary operator with void arguments</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91570">Bug 91570</a> - Upgrading mesa to 10.6 causes segfault in OpenGL applications with GeForce4 MX 440 / AGP 8X</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91610">Bug 91610</a> - [BSW] GPU hang for spec.shaders.point-vertex-id gl_instanceid divisor</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>Adam Jackson (1):</p>
|
||||
<ul>
|
||||
<li>glx: Fix __glXWireToEvent for BufferSwapComplete</li>
|
||||
</ul>
|
||||
|
||||
<p>Alex Deucher (2):</p>
|
||||
<ul>
|
||||
<li>radeonsi: add new OLAND pci id</li>
|
||||
<li>radeonsi: properly set the raster_config for KV</li>
|
||||
</ul>
|
||||
|
||||
<p>Emil Velikov (4):</p>
|
||||
<ul>
|
||||
<li>docs: add sha256 checksums for 10.6.4</li>
|
||||
<li>vc4: add missing nir include, to fix the build</li>
|
||||
<li>Revert "radeonsi: properly set the raster_config for KV"</li>
|
||||
<li>Update version to 10.6.5</li>
|
||||
</ul>
|
||||
|
||||
<p>Frank Binns (1):</p>
|
||||
<ul>
|
||||
<li>egl/x11: don't abort when creating a DRI2 drawable fails</li>
|
||||
</ul>
|
||||
|
||||
<p>Ilia Mirkin (3):</p>
|
||||
<ul>
|
||||
<li>nouveau: no need to do tnl wakeup, state updates are always hooked up</li>
|
||||
<li>gm107/ir: indirect handle goes first on maxwell also</li>
|
||||
<li>nv50,nvc0: take level into account when doing eng2d multi-layer blits</li>
|
||||
</ul>
|
||||
|
||||
<p>Jason Ekstrand (4):</p>
|
||||
<ul>
|
||||
<li>meta/copy_image: Stash off the scissor</li>
|
||||
<li>mesa/formats: Only do byteswapping for packed formats</li>
|
||||
<li>mesa/formats: Fix swizzle flipping for big-endian targets</li>
|
||||
<li>mesa/formats: Don't flip channels of null array formats</li>
|
||||
</ul>
|
||||
|
||||
<p>Marek Olšák (3):</p>
|
||||
<ul>
|
||||
<li>radeonsi: fix polygon offset scale</li>
|
||||
<li>r600g: fix polygon offset scale</li>
|
||||
<li>r600g: allow setting geometry shader sampler states</li>
|
||||
</ul>
|
||||
|
||||
<p>Neil Roberts (1):</p>
|
||||
<ul>
|
||||
<li>i965/bdw: Fix setting the instancing state for the SGVS element</li>
|
||||
</ul>
|
||||
|
||||
<p>Oded Gabbay (2):</p>
|
||||
<ul>
|
||||
<li>mesa: clear existing swizzle info before bitwise-OR</li>
|
||||
<li>mesa/formats: don't byteswap when building array formats</li>
|
||||
</ul>
|
||||
|
||||
<p>Renaud Gaubert (1):</p>
|
||||
<ul>
|
||||
<li>glsl: avoid compiler's segfault when processing operators with void arguments</li>
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -1,164 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
<h1>The Mesa 3D Graphics Library</h1>
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 10.6.6 Release Notes / September 04, 2015</h1>
|
||||
|
||||
<p>
|
||||
Mesa 10.6.6 is a bug fix release which fixes bugs found since the 10.6.5 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 10.6.6 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 3.3. OpenGL
|
||||
3.3 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>SHA256 checksums</h2>
|
||||
<pre>
|
||||
416517aa9df4791f97d34451a9e4da33c966afcd18c115c5769b92b15b018ef5 mesa-10.6.6.tar.gz
|
||||
570f2154b7340ff5db61ff103bc6e85165b8958798b78a50fa2df488e98e5778 mesa-10.6.6.tar.xz
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
<p>None</p>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<p>This list is likely incomplete.</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=84677">Bug 84677</a> - Triangle disappears with glPolygonMode GL_LINE</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90734">Bug 90734</a> - glBufferSubData is corrupting data when buffer is > 32k</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90748">Bug 90748</a> - [BDW Bisected]dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth.rg_half_float_oes fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90902">Bug 90902</a> - [bsw][regression] dEQP: "Found invalid pixel values"</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90925">Bug 90925</a> - "high fidelity": Segfault in _mesa_program_resource_find_name</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91254">Bug 91254</a> - (regresion) video using VA-API on Intel slow and freeze system with mesa 10.6 or 10.6.1</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91292">Bug 91292</a> - [BDW+] glVertexAttribDivisor not working in combination with glPolygonMode</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91673">Bug 91673</a> - Segfault when calling glTexSubImage2D on storage texture to bound FBO</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91726">Bug 91726</a> - R600 asserts in tgsi_cmp/make_src_for_op3</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>Chris Wilson (2):</p>
|
||||
<ul>
|
||||
<li>i965: Prevent coordinate overflow in intel_emit_linear_blit</li>
|
||||
<li>i965: Always re-emit the pipeline select during invariant state emission</li>
|
||||
</ul>
|
||||
|
||||
<p>Daniel Scharrer (1):</p>
|
||||
<ul>
|
||||
<li>mesa: add missing queries for ARB_direct_state_access</li>
|
||||
</ul>
|
||||
|
||||
<p>Dave Airlie (8):</p>
|
||||
<ul>
|
||||
<li>mesa/arb_gpu_shader_fp64: add support for glGetUniformdv</li>
|
||||
<li>mesa/texgetimage: fix missing stencil check</li>
|
||||
<li>st/readpixels: fix accel path for skipimages.</li>
|
||||
<li>texcompress_s3tc/fxt1: fix stride checks (v1.1)</li>
|
||||
<li>mesa/readpixels: check strides are equal before skipping conversion</li>
|
||||
<li>mesa: enable texture stencil8 for multisample</li>
|
||||
<li>r600/sb: update last_cf for finalize if.</li>
|
||||
<li>r600g: fix calculation for gpr allocation</li>
|
||||
</ul>
|
||||
|
||||
<p>David Heidelberg (1):</p>
|
||||
<ul>
|
||||
<li>st/nine: Require gcc >= 4.6</li>
|
||||
</ul>
|
||||
|
||||
<p>Emil Velikov (2):</p>
|
||||
<ul>
|
||||
<li>docs: add sha256 checksums for 10.6.5</li>
|
||||
<li>get-pick-list.sh: Require explicit "10.6" for nominating stable patches</li>
|
||||
</ul>
|
||||
|
||||
<p>Glenn Kennard (4):</p>
|
||||
<ul>
|
||||
<li>r600g: Fix assert in tgsi_cmp</li>
|
||||
<li>r600g/sb: Handle undef in read port tracker</li>
|
||||
<li>r600g/sb: Don't read junk after EOP</li>
|
||||
<li>r600g/sb: Don't crash on empty if jump target</li>
|
||||
</ul>
|
||||
|
||||
<p>Ilia Mirkin (5):</p>
|
||||
<ul>
|
||||
<li>st/mesa: fix assignments with 4-operand arguments (i.e. BFI)</li>
|
||||
<li>st/mesa: pass through 4th opcode argument in bitmap/pixel visitors</li>
|
||||
<li>nv50,nvc0: disable depth bounds test on blit</li>
|
||||
<li>nv50: fix 2d engine blits for 64- and 128-bit formats</li>
|
||||
<li>mesa: only copy the requested teximage faces</li>
|
||||
</ul>
|
||||
|
||||
<p>Jason Ekstrand (1):</p>
|
||||
<ul>
|
||||
<li>i965/fs: Split VGRFs after lowering pull constants</li>
|
||||
</ul>
|
||||
|
||||
<p>Kenneth Graunke (3):</p>
|
||||
<ul>
|
||||
<li>i965: Fix copy propagation type changes.</li>
|
||||
<li>Revert "i965: Advertise a line width of 40.0 on Cherryview and Skylake."</li>
|
||||
<li>i965: Momentarily pretend to support ARB_texture_stencil8 for blits.</li>
|
||||
</ul>
|
||||
|
||||
<p>Marek Olšák (3):</p>
|
||||
<ul>
|
||||
<li>gallium/radeon: fix the ADDRESS_HI mask for EVENT_WRITE CIK packets</li>
|
||||
<li>mesa: create multisample fallback textures like normal textures</li>
|
||||
<li>radeonsi: fix a Unigine Heaven hang when drirc is missing</li>
|
||||
</ul>
|
||||
|
||||
<p>Matt Turner (1):</p>
|
||||
<ul>
|
||||
<li>i965/fs: Handle MRF destinations in lower_integer_multiplication().</li>
|
||||
</ul>
|
||||
|
||||
<p>Neil Roberts (2):</p>
|
||||
<ul>
|
||||
<li>i965: Swap the order of the vertex ID and edge flag attributes</li>
|
||||
<li>i965/bdw: Fix 3DSTATE_VF_INSTANCING when the edge flag is used</li>
|
||||
</ul>
|
||||
|
||||
<p>Tapani Pälli (5):</p>
|
||||
<ul>
|
||||
<li>mesa: update fbo state in glTexStorage</li>
|
||||
<li>glsl: build stageref mask using IR, not symbol table</li>
|
||||
<li>glsl: expose build_program_resource_list function</li>
|
||||
<li>glsl: create program resource list after LinkShader</li>
|
||||
<li>mesa: add GL_RED, GL_RG support for floating point textures</li>
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -1,74 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
<h1>The Mesa 3D Graphics Library</h1>
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 10.6.7 Release Notes / September 10, 2015</h1>
|
||||
|
||||
<p>
|
||||
Mesa 10.6.7 is a bug fix release which fixes bugs found since the 10.6.6 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 10.6.7 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 3.3. OpenGL
|
||||
3.3 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>SHA256 checksums</h2>
|
||||
<pre>
|
||||
TBD
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
<p>None</p>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<p>This list is likely incomplete.</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90751">Bug 90751</a> - [BDW Bisected]dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil.stencil_index8 fails</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>Dave Airlie (1):</p>
|
||||
<ul>
|
||||
<li>mesa/teximage: use correct extension for accept stencil texture.</li>
|
||||
</ul>
|
||||
|
||||
<p>Emil Velikov (3):</p>
|
||||
<ul>
|
||||
<li>docs: add sha256 checksums for 10.6.6</li>
|
||||
<li>Revert "i965: Momentarily pretend to support ARB_texture_stencil8 for blits."</li>
|
||||
<li>Update version to 10.6.7</li>
|
||||
</ul>
|
||||
|
||||
<p>Kenneth Graunke (1):</p>
|
||||
<ul>
|
||||
<li>glsl: Handle attribute aliasing in attribute storage limit check.</li>
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -1693,7 +1693,7 @@ bc644be551ed585fc4f66c16b64a91c9 MesaGLUT-7.10.tar.gz
|
||||
<li>llvmpipe: Special case complementary and identify blend factors in SoA.</li>
|
||||
<li>llvmpipe: Make rgb/alpha bland func/factors match, when there is no alpha.</li>
|
||||
<li>draw: Prevent clipped vertices overflow.</li>
|
||||
<li>draw: Fulfil the new min_lod/max_lod/lod_bias/border_color dynamic state</li>
|
||||
<li>draw: Fullfil the new min_lod/max_lod/lod_bias/border_color dynamic state</li>
|
||||
<li>gallivm: Fetch the lod from the dynamic state when min_lod == max_lod.</li>
|
||||
<li>gallivm: Remove dead experimental code.</li>
|
||||
<li>llvmpipe: Decouple sampler view and sampler state updates.</li>
|
||||
|
@@ -48,7 +48,7 @@ c49c19c2bbef4f3b7f1389974dff25f4 MesaGLUT-7.6.zip
|
||||
|
||||
<h2>New features</h2>
|
||||
<ul>
|
||||
<li>OpenVG front-end (state tracker for Gallium).
|
||||
<li><a href="../openvg.html">OpenVG</a> front-end (state tracker for Gallium).
|
||||
This was written by Zack Rusin at Tungsten Graphics.
|
||||
<li>GL_ARB_vertex_array_object and GL_APPLE_vertex_array_object extensions
|
||||
(supported in Gallium drivers, Intel DRI drivers, and software drivers)</li>
|
||||
|
@@ -133,8 +133,10 @@ each directory.
|
||||
<ul>
|
||||
<li><b>clover</b> - OpenCL state tracker
|
||||
<li><b>dri</b> - Meta state tracker for DRI drivers
|
||||
<li><b>egl</b> - Meta state tracker for EGL drivers
|
||||
<li><b>glx</b> - Meta state tracker for GLX
|
||||
<li><b>vdpau</b> - VDPAU state tracker
|
||||
<li><b>vega</b> - OpenVG 1.x state tracker
|
||||
<li><b>wgl</b> -
|
||||
<li><b>xorg</b> - Meta state tracker for Xorg video drivers
|
||||
<li><b>xvmc</b> - XvMC state tracker
|
||||
|
@@ -1,147 +0,0 @@
|
||||
Name
|
||||
|
||||
MESA_image_dma_buf_export
|
||||
|
||||
Name Strings
|
||||
|
||||
EGL_MESA_image_dma_buf_export
|
||||
|
||||
Contributors
|
||||
|
||||
Dave Airlie
|
||||
|
||||
Contact
|
||||
|
||||
Dave Airlie (airlied 'at' redhat 'dot' com)
|
||||
|
||||
Status
|
||||
|
||||
Complete, shipping.
|
||||
|
||||
Version
|
||||
|
||||
Version 3, May 5, 2015
|
||||
|
||||
Number
|
||||
|
||||
EGL Extension #87
|
||||
|
||||
Dependencies
|
||||
|
||||
Requires EGL 1.4 or later. This extension is written against the
|
||||
wording of the EGL 1.4 specification.
|
||||
|
||||
EGL_KHR_base_image is required.
|
||||
|
||||
The EGL implementation must be running on a Linux kernel supporting the
|
||||
dma_buf buffer sharing mechanism.
|
||||
|
||||
Overview
|
||||
|
||||
This extension provides entry points for integrating EGLImage with the
|
||||
dma-buf infrastructure. The extension allows creating a Linux dma_buf
|
||||
file descriptor or multiple file descriptors, in the case of multi-plane
|
||||
YUV image, from an EGLImage.
|
||||
|
||||
It is designed to provide the complementary functionality to
|
||||
EGL_EXT_image_dma_buf_import.
|
||||
|
||||
IP Status
|
||||
|
||||
Open-source; freely implementable.
|
||||
|
||||
New Types
|
||||
|
||||
This extension uses the 64-bit unsigned integer type EGLuint64KHR
|
||||
first introduced by the EGL_KHR_stream extension, but does not
|
||||
depend on that extension. The typedef may be reproduced separately
|
||||
for this extension, if not already present in eglext.h.
|
||||
|
||||
typedef khronos_uint64_t EGLuint64KHR;
|
||||
|
||||
New Procedures and Functions
|
||||
|
||||
EGLBoolean eglExportDMABUFImageQueryMESA(EGLDisplay dpy,
|
||||
EGLImageKHR image,
|
||||
int *fourcc,
|
||||
int *num_planes,
|
||||
EGLuint64KHR *modifiers);
|
||||
|
||||
EGLBoolean eglExportDMABUFImageMESA(EGLDisplay dpy,
|
||||
EGLImageKHR image,
|
||||
int *fds,
|
||||
EGLint *strides,
|
||||
EGLint *offsets);
|
||||
|
||||
New Tokens
|
||||
|
||||
None
|
||||
|
||||
|
||||
Additions to the EGL 1.4 Specification:
|
||||
|
||||
To mirror the import extension, this extension attempts to return
|
||||
enough information to enable an exported dma-buf to be imported
|
||||
via eglCreateImageKHR and EGL_LINUX_DMA_BUF_EXT token.
|
||||
|
||||
Retrieving the information is a two step process, so two APIs
|
||||
are required.
|
||||
|
||||
The first entrypoint
|
||||
EGLBoolean eglExportDMABUFImageQueryMESA(EGLDisplay dpy,
|
||||
EGLImageKHR image,
|
||||
int *fourcc,
|
||||
int *num_planes,
|
||||
EGLuint64KHR *modifiers);
|
||||
|
||||
is used to retrieve the pixel format of the buffer, as specified by
|
||||
drm_fourcc.h, the number of planes in the image and the Linux
|
||||
drm modifiers. <fourcc>, <num_planes> and <modifiers> may be NULL,
|
||||
in which case no value is retrieved.
|
||||
|
||||
The second entrypoint retrieves the dma_buf file descriptors,
|
||||
strides and offsets for the image. The caller should pass
|
||||
arrays sized according to the num_planes values retrieved previously.
|
||||
Passing arrays of the wrong size will have undefined results.
|
||||
If the number of fds is less than the number of planes, then
|
||||
subsequent fd slots should contain -1.
|
||||
|
||||
EGLBoolean eglExportDMABUFImageMESA(EGLDisplay dpy,
|
||||
EGLImageKHR image,
|
||||
int *fds,
|
||||
EGLint *strides,
|
||||
EGLint *offsets);
|
||||
|
||||
<fds>, <strides>, <offsets> can be NULL if the infomatation isn't
|
||||
required by the caller.
|
||||
|
||||
Issues
|
||||
|
||||
1. Should the API look more like an attribute getting API?
|
||||
|
||||
ANSWER: No, from a user interface pov, having to iterate across calling
|
||||
the API up to 12 times using attribs seems like the wrong solution.
|
||||
|
||||
2. Should the API take a plane and just get the fd/stride/offset for that
|
||||
plane?
|
||||
|
||||
ANSWER: UNKNOWN,this might be just as valid an API.
|
||||
|
||||
3. Does ownership of the file descriptor remain with the app?
|
||||
|
||||
ANSWER: Yes, the app is responsible for closing any fds retrieved.
|
||||
|
||||
4. If number of planes and number of fds differ what should we do?
|
||||
|
||||
ANSWER: Return -1 for the secondary slots, as this avoids having
|
||||
to dup the fd extra times to make the interface sane.
|
||||
|
||||
Revision History
|
||||
|
||||
Version 3, May, 2015
|
||||
Just use the KHR 64-bit type.
|
||||
Version 2, March, 2015
|
||||
Add a query interface (Dave Airlie)
|
||||
Version 1, June 3, 2014
|
||||
Initial draft (Dave Airlie)
|
||||
|
@@ -150,7 +150,7 @@ New features:
|
||||
Changes:
|
||||
<ul>
|
||||
<li>renamed aux.h as glaux.h (MS-DOS names can't start with aux)
|
||||
<li>most filenames are in 8.3 format to accommodate MS-DOS
|
||||
<li>most filenames are in 8.3 format to accomodate MS-DOS
|
||||
<li>use GLubytes to store arrays of colors instead of GLints
|
||||
</ul>
|
||||
|
||||
@@ -1224,7 +1224,7 @@ Bug fixes:
|
||||
</ul>
|
||||
Changes:
|
||||
<ul>
|
||||
<li>max texture units reduced to six to accommodate texture rectangles
|
||||
<li>max texture units reduced to six to accomodate texture rectangles
|
||||
<li>removed unfinished GL_MESA_sprite_point extension code
|
||||
</ul>
|
||||
|
||||
|
@@ -19,7 +19,6 @@
|
||||
<p>
|
||||
This page lists known issues with
|
||||
<a href="http://www.spec.org/gwpg/gpc.static/vp11info.html" target="_main">SPEC Viewperf 11</a>
|
||||
and <a href="https://www.spec.org/gwpg/gpc.static/vp12info.html" target="_main">SPEC Viewperf 12</a>
|
||||
when running on Mesa-based drivers.
|
||||
</p>
|
||||
|
||||
@@ -41,15 +40,13 @@ These issues have been reported to the SPEC organization in the hope that
|
||||
they'll be fixed in the future.
|
||||
</p>
|
||||
|
||||
<h2><u>Viewperf 11</u></h2>
|
||||
|
||||
<p>
|
||||
Some of the Viewperf 11 tests use a lot of memory.
|
||||
Some of the Viewperf tests use a lot of memory.
|
||||
At least 2GB of RAM is recommended.
|
||||
</p>
|
||||
|
||||
|
||||
<h3>Catia-03 test 2</h3>
|
||||
<h2>Catia-03 test 2</h2>
|
||||
|
||||
<p>
|
||||
This test creates over 38000 vertex buffer objects. On some systems
|
||||
@@ -62,7 +59,7 @@ either in Viewperf or the Mesa driver.
|
||||
|
||||
|
||||
|
||||
<h3>Catia-03 tests 3, 4, 8</h3>
|
||||
<h2>Catia-03 tests 3, 4, 8</h2>
|
||||
|
||||
<p>
|
||||
These tests use features of the
|
||||
@@ -82,7 +79,7 @@ Subsequent drawing calls become no-ops and the rendering is incorrect.
|
||||
|
||||
|
||||
|
||||
<h3>sw-02 tests 1, 2, 4, 6</h3>
|
||||
<h2>sw-02 tests 1, 2, 4, 6</h2>
|
||||
|
||||
<p>
|
||||
These tests depend on the
|
||||
@@ -102,7 +99,7 @@ color. This is probably due to some uninitialized state somewhere.
|
||||
|
||||
|
||||
|
||||
<h3>sw-02 test 6</h3>
|
||||
<h2>sw-02 test 6</h2>
|
||||
|
||||
<p>
|
||||
The lines drawn in this test appear in a random color.
|
||||
@@ -114,7 +111,7 @@ situation, we get a random color.
|
||||
|
||||
|
||||
|
||||
<h3>Lightwave-01 test 3</h3>
|
||||
<h2>Lightwave-01 test 3</h2>
|
||||
|
||||
<p>
|
||||
This test uses a number of mipmapped textures, but the textures are
|
||||
@@ -175,7 +172,7 @@ However, we have no plans to implement this work-around in Mesa.
|
||||
</p>
|
||||
|
||||
|
||||
<h3>Maya-03 test 2</h3>
|
||||
<h2>Maya-03 test 2</h2>
|
||||
|
||||
<p>
|
||||
This test makes some unusual calls to glRotate. For example:
|
||||
@@ -207,7 +204,7 @@ and with a semi-random color (between white and black) since GL_FOG is enabled.
|
||||
</p>
|
||||
|
||||
|
||||
<h3>Proe-05 test 1</h3>
|
||||
<h2>Proe-05 test 1</h2>
|
||||
|
||||
<p>
|
||||
This uses depth testing but there's two problems:
|
||||
@@ -235,7 +232,7 @@ glClear is called so clearing the depth buffer would be a no-op anyway.
|
||||
</p>
|
||||
|
||||
|
||||
<h3>Proe-05 test 6</h3>
|
||||
<h2>Proe-05 test 6</h2>
|
||||
|
||||
<p>
|
||||
This test draws an engine model with a two-pass algorithm.
|
||||
@@ -264,86 +261,6 @@ blending with appropriate patterns/modes to ensure the same fragments
|
||||
are produced in both passes.
|
||||
</p>
|
||||
|
||||
<h2><u>Viewperf 12</u></h2>
|
||||
|
||||
<p>
|
||||
Note that Viewperf 12 only runs on 64-bit Windows 7 or later.
|
||||
</p>
|
||||
|
||||
<h3>catia-04</h3>
|
||||
|
||||
<p>
|
||||
One of the catia tests calls wglGetProcAddress() to get some
|
||||
GL_EXT_direct_state_access functions (such as glBindMultiTextureEXT) and some
|
||||
GL_NV_half_float functions (such as glMultiTexCoord3hNV).
|
||||
If the extension/function is not supported, wglGetProcAddress() can return NULL.
|
||||
Unfortunately, Viewperf doesn't check for null pointers and crashes when it
|
||||
later tries to use the pointer.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Another catia test uses OpenGL 3.1's primitive restart feature.
|
||||
But when Viewperf creates an OpenGL context, it doesn't request version 3.1
|
||||
If the driver returns version 3.0 or earlier all the calls related to primitive
|
||||
restart generate an OpenGL error.
|
||||
Some of the rendering is then incorrect.
|
||||
</p>
|
||||
|
||||
|
||||
<h3>energy-01</h3>
|
||||
|
||||
<p>
|
||||
This test creates a 3D luminance texture of size 1K x 1K x 1K.
|
||||
If the OpenGL driver/device doesn't support a texture of this size
|
||||
the glTexImage3D() call will fail with GL_INVALID_VALUE or GL_OUT_OF_MEMORY
|
||||
and all that's rendered is plain white polygons.
|
||||
Ideally, the test would use a proxy texture to determine the max 3D
|
||||
texture size. But it does not do that.
|
||||
</p>
|
||||
|
||||
<h3>maya-04</h3>
|
||||
|
||||
<p>
|
||||
This test generates many GL_INVALID_OPERATION errors in its calls to
|
||||
glUniform().
|
||||
Causes include:
|
||||
<ul>
|
||||
<li> Trying to set float uniforms with glUniformi()
|
||||
<li> Trying to set float uniforms with glUniform3f()
|
||||
<li> Trying to set matrix uniforms with glUniform() instead of glUniformMatrix().
|
||||
</ul>
|
||||
<p>
|
||||
Apparently, the indexes returned by glGetUniformLocation() were hard-coded
|
||||
into the application trace when it was created.
|
||||
Since different implementations of glGetUniformLocation() may return different
|
||||
values for any given uniform name, subsequent calls to glUniform() will be
|
||||
invalid since they refer to the wrong uniform variables.
|
||||
This causes many OpenGL errors and leads to incorrect rendering.
|
||||
</p>
|
||||
|
||||
<h3>medical-01</h3>
|
||||
|
||||
<p>
|
||||
This test uses a single GLSL fragment shader which contains a GLSL 1.20
|
||||
array initializer statement, but it neglects to specify
|
||||
<code>#version 120</code> at the top of the shader code.
|
||||
So, the shader does not compile and all that's rendered is plain white polygons.
|
||||
</p>
|
||||
<p>
|
||||
Also, the test tries to create a very large 3D texture that may exceed
|
||||
the device driver's limit.
|
||||
When this happens, the glTexImage3D call fails and all that's rendered is
|
||||
a white box.
|
||||
</p>
|
||||
|
||||
|
||||
<h3>showcase-01</h3>
|
||||
|
||||
<p>
|
||||
This is actually a DX11 test based on Autodesk's Showcase product.
|
||||
As such, it won't run with Mesa.
|
||||
</p>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
|
@@ -50,7 +50,6 @@
|
||||
#define E_OUTOFMEMORY MAKE_HRESULT(1, 0x007, 14)
|
||||
#define E_NOINTERFACE MAKE_HRESULT(1, 0x000, 0x4002)
|
||||
#define E_POINTER MAKE_HRESULT(1, 0x000, 0x4003)
|
||||
#define E_FAIL MAKE_HRESULT(1, 0x000, 0x4005)
|
||||
|
||||
#define S_OK ((HRESULT)0)
|
||||
#define S_FALSE ((HRESULT)1)
|
||||
@@ -472,7 +471,6 @@ typedef enum _D3DBUSTYPE {
|
||||
} D3DBUSTYPE;
|
||||
|
||||
typedef enum _D3DCMPFUNC {
|
||||
D3DCMP_NEVER_ZERO = 0, //Needed to avoid warnings
|
||||
D3DCMP_NEVER = 1,
|
||||
D3DCMP_LESS = 2,
|
||||
D3DCMP_EQUAL = 3,
|
||||
@@ -573,7 +571,6 @@ typedef enum _D3DDEVTYPE {
|
||||
} D3DDEVTYPE;
|
||||
|
||||
typedef enum _D3DFILLMODE {
|
||||
D3DFILL_SOLID_ZERO = 0,
|
||||
D3DFILL_POINT = 1,
|
||||
D3DFILL_WIREFRAME = 2,
|
||||
D3DFILL_SOLID = 3
|
||||
@@ -654,7 +651,6 @@ typedef enum _D3DFORMAT {
|
||||
D3DFMT_BINARYBUFFER = 199,
|
||||
D3DFMT_ATI1 = MAKEFOURCC('A', 'T', 'I', '1'),
|
||||
D3DFMT_ATI2 = MAKEFOURCC('A', 'T', 'I', '2'),
|
||||
D3DFMT_ATOC = MAKEFOURCC('A', 'T', 'O', 'C'),
|
||||
D3DFMT_DF16 = MAKEFOURCC('D', 'F', '1', '6'),
|
||||
D3DFMT_DF24 = MAKEFOURCC('D', 'F', '2', '4'),
|
||||
D3DFMT_INTZ = MAKEFOURCC('I', 'N', 'T', 'Z'),
|
||||
@@ -662,7 +658,6 @@ typedef enum _D3DFORMAT {
|
||||
D3DFMT_NVDB = MAKEFOURCC('N', 'V', 'D', 'B'),
|
||||
D3DFMT_NV11 = MAKEFOURCC('N', 'V', '1', '1'),
|
||||
D3DFMT_NV12 = MAKEFOURCC('N', 'V', '1', '2'),
|
||||
D3DFMT_RESZ = MAKEFOURCC('R', 'E', 'S', 'Z'),
|
||||
D3DFMT_Y210 = MAKEFOURCC('Y', '2', '1', '0'),
|
||||
D3DFMT_Y216 = MAKEFOURCC('Y', '2', '1', '6'),
|
||||
D3DFMT_Y410 = MAKEFOURCC('Y', '4', '1', '0')
|
||||
|
@@ -34,6 +34,63 @@ extern "C" {
|
||||
|
||||
#include <EGL/eglplatform.h>
|
||||
|
||||
/* EGL_MESA_screen extension >>> PRELIMINARY <<< */
|
||||
#ifndef EGL_MESA_screen_surface
|
||||
#define EGL_MESA_screen_surface 1
|
||||
|
||||
#define EGL_BAD_SCREEN_MESA 0x4000
|
||||
#define EGL_BAD_MODE_MESA 0x4001
|
||||
#define EGL_SCREEN_COUNT_MESA 0x4002
|
||||
#define EGL_SCREEN_POSITION_MESA 0x4003
|
||||
#define EGL_SCREEN_POSITION_GRANULARITY_MESA 0x4004
|
||||
#define EGL_MODE_ID_MESA 0x4005
|
||||
#define EGL_REFRESH_RATE_MESA 0x4006
|
||||
#define EGL_OPTIMAL_MESA 0x4007
|
||||
#define EGL_INTERLACED_MESA 0x4008
|
||||
#define EGL_SCREEN_BIT_MESA 0x08
|
||||
|
||||
typedef khronos_uint32_t EGLScreenMESA;
|
||||
typedef khronos_uint32_t EGLModeMESA;
|
||||
|
||||
#ifdef EGL_EGLEXT_PROTOTYPES
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglChooseModeMESA(EGLDisplay dpy, EGLScreenMESA screen, const EGLint *attrib_list, EGLModeMESA *modes, EGLint modes_size, EGLint *num_modes);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglGetModesMESA(EGLDisplay dpy, EGLScreenMESA screen, EGLModeMESA *modes, EGLint modes_size, EGLint *num_modes);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglGetModeAttribMESA(EGLDisplay dpy, EGLModeMESA mode, EGLint attribute, EGLint *value);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglGetScreensMESA(EGLDisplay dpy, EGLScreenMESA *screens, EGLint max_screens, EGLint *num_screens);
|
||||
EGLAPI EGLSurface EGLAPIENTRY eglCreateScreenSurfaceMESA(EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglShowScreenSurfaceMESA(EGLDisplay dpy, EGLint screen, EGLSurface surface, EGLModeMESA mode);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglScreenPositionMESA(EGLDisplay dpy, EGLScreenMESA screen, EGLint x, EGLint y);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglQueryScreenMESA(EGLDisplay dpy, EGLScreenMESA screen, EGLint attribute, EGLint *value);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglQueryScreenSurfaceMESA(EGLDisplay dpy, EGLScreenMESA screen, EGLSurface *surface);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglQueryScreenModeMESA(EGLDisplay dpy, EGLScreenMESA screen, EGLModeMESA *mode);
|
||||
EGLAPI const char * EGLAPIENTRY eglQueryModeStringMESA(EGLDisplay dpy, EGLModeMESA mode);
|
||||
#endif /* EGL_EGLEXT_PROTOTYPES */
|
||||
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLCHOOSEMODEMESA) (EGLDisplay dpy, EGLScreenMESA screen, const EGLint *attrib_list, EGLModeMESA *modes, EGLint modes_size, EGLint *num_modes);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETMODESMESA) (EGLDisplay dpy, EGLScreenMESA screen, EGLModeMESA *modes, EGLint modes_size, EGLint *num_modes);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLGetModeATTRIBMESA) (EGLDisplay dpy, EGLModeMESA mode, EGLint attribute, EGLint *value);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSCRREENSMESA) (EGLDisplay dpy, EGLScreenMESA *screens, EGLint max_screens, EGLint *num_screens);
|
||||
typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATESCREENSURFACEMESA) (EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLSHOWSCREENSURFACEMESA) (EGLDisplay dpy, EGLint screen, EGLSurface surface, EGLModeMESA mode);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLSCREENPOSIITONMESA) (EGLDisplay dpy, EGLScreenMESA screen, EGLint x, EGLint y);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSCREENMESA) (EGLDisplay dpy, EGLScreenMESA screen, EGLint attribute, EGLint *value);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSCREENSURFACEMESA) (EGLDisplay dpy, EGLScreenMESA screen, EGLSurface *surface);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSCREENMODEMESA) (EGLDisplay dpy, EGLScreenMESA screen, EGLModeMESA *mode);
|
||||
typedef const char * (EGLAPIENTRYP PFNEGLQUERYMODESTRINGMESA) (EGLDisplay dpy, EGLModeMESA mode);
|
||||
|
||||
#endif /* EGL_MESA_screen_surface */
|
||||
|
||||
#ifndef EGL_MESA_copy_context
|
||||
#define EGL_MESA_copy_context 1
|
||||
|
||||
#ifdef EGL_EGLEXT_PROTOTYPES
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglCopyContextMESA(EGLDisplay dpy, EGLContext source, EGLContext dest, EGLint mask);
|
||||
#endif /* EGL_EGLEXT_PROTOTYPES */
|
||||
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOPYCONTEXTMESA) (EGLDisplay dpy, EGLContext source, EGLContext dest, EGLint mask);
|
||||
|
||||
#endif /* EGL_MESA_copy_context */
|
||||
|
||||
#ifndef EGL_MESA_drm_display
|
||||
#define EGL_MESA_drm_display 1
|
||||
|
||||
@@ -113,19 +170,6 @@ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSREGIONNOK) (EGLDisplay dpy, EG
|
||||
#define EGL_NO_CONFIG_MESA ((EGLConfig)0)
|
||||
#endif
|
||||
|
||||
#if KHRONOS_SUPPORT_INT64
|
||||
#ifndef EGL_MESA_image_dma_buf_export
|
||||
#define EGL_MESA_image_dma_buf_export 1
|
||||
#ifdef EGL_EGLEXT_PROTOTYPES
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglExportDMABUFImageQueryMESA (EGLDisplay dpy, EGLImageKHR image, EGLint *fourcc, EGLint *nplanes, EGLuint64KHR *modifiers);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglExportDMABUFImageMESA (EGLDisplay dpy, EGLImageKHR image, int *fds, EGLint *strides, EGLint *offsets);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDMABUFIMAGEQUERYMESA) (EGLDisplay dpy, EGLImageKHR image, EGLint *fourcc, EGLint *nplanes, EGLuint64KHR *modifiers);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDMABUFIMAGEMESA) (EGLDisplay dpy, EGLImageKHR image, int *fds, EGLint *strides, EGLint *offsets);
|
||||
|
||||
#endif
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
@@ -106,7 +106,7 @@ typedef void *EGLNativeDisplayType;
|
||||
|
||||
#elif defined(__unix__)
|
||||
|
||||
#if defined(MESA_EGL_NO_X11_HEADERS)
|
||||
#ifdef MESA_EGL_NO_X11_HEADERS
|
||||
|
||||
typedef void *EGLNativeDisplayType;
|
||||
typedef khronos_uintptr_t EGLNativePixmapType;
|
||||
@@ -124,16 +124,8 @@ typedef Window EGLNativeWindowType;
|
||||
|
||||
#endif /* MESA_EGL_NO_X11_HEADERS */
|
||||
|
||||
#elif __HAIKU__
|
||||
#include <kernel/image.h>
|
||||
typedef void *EGLNativeDisplayType;
|
||||
typedef khronos_uintptr_t EGLNativePixmapType;
|
||||
typedef khronos_uintptr_t EGLNativeWindowType;
|
||||
|
||||
#else
|
||||
|
||||
#error "Platform not recognized"
|
||||
|
||||
#endif
|
||||
|
||||
/* EGL 1.2 types, renamed for consistency in EGL 1.3 */
|
||||
|
@@ -33,7 +33,7 @@ extern "C" {
|
||||
** used to make the header, and the header can be found at
|
||||
** http://www.opengl.org/registry/
|
||||
**
|
||||
** Khronos $Revision: 29735 $ on $Date: 2015-02-02 19:00:01 -0800 (Mon, 02 Feb 2015) $
|
||||
** Khronos $Revision: 27684 $ on $Date: 2014-08-11 01:21:35 -0700 (Mon, 11 Aug 2014) $
|
||||
*/
|
||||
|
||||
#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__)
|
||||
@@ -53,7 +53,7 @@ extern "C" {
|
||||
#define GLAPI extern
|
||||
#endif
|
||||
|
||||
#define GL_GLEXT_VERSION 20150202
|
||||
#define GL_GLEXT_VERSION 20140810
|
||||
|
||||
/* Generated C header for:
|
||||
* API: gl
|
||||
@@ -2044,10 +2044,6 @@ GLAPI void APIENTRY glGetDoublei_v (GLenum target, GLuint index, GLdouble *data)
|
||||
|
||||
#ifndef GL_VERSION_4_2
|
||||
#define GL_VERSION_4_2 1
|
||||
#define GL_COPY_READ_BUFFER_BINDING 0x8F36
|
||||
#define GL_COPY_WRITE_BUFFER_BINDING 0x8F37
|
||||
#define GL_TRANSFORM_FEEDBACK_ACTIVE 0x8E24
|
||||
#define GL_TRANSFORM_FEEDBACK_PAUSED 0x8E23
|
||||
#define GL_UNPACK_COMPRESSED_BLOCK_WIDTH 0x9127
|
||||
#define GL_UNPACK_COMPRESSED_BLOCK_HEIGHT 0x9128
|
||||
#define GL_UNPACK_COMPRESSED_BLOCK_DEPTH 0x9129
|
||||
@@ -2594,6 +2590,7 @@ GLAPI void APIENTRY glBindVertexBuffers (GLuint first, GLsizei count, const GLui
|
||||
#define GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES 0x82FA
|
||||
#define GL_TEXTURE_TARGET 0x1006
|
||||
#define GL_QUERY_TARGET 0x82EA
|
||||
#define GL_TEXTURE_BINDING 0x82EB
|
||||
#define GL_GUILTY_CONTEXT_RESET 0x8253
|
||||
#define GL_INNOCENT_CONTEXT_RESET 0x8254
|
||||
#define GL_UNKNOWN_CONTEXT_RESET 0x8255
|
||||
@@ -2606,25 +2603,25 @@ GLAPI void APIENTRY glBindVertexBuffers (GLuint first, GLsizei count, const GLui
|
||||
typedef void (APIENTRYP PFNGLCLIPCONTROLPROC) (GLenum origin, GLenum depth);
|
||||
typedef void (APIENTRYP PFNGLCREATETRANSFORMFEEDBACKSPROC) (GLsizei n, GLuint *ids);
|
||||
typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKBUFFERBASEPROC) (GLuint xfb, GLuint index, GLuint buffer);
|
||||
typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC) (GLuint xfb, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
|
||||
typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC) (GLuint xfb, GLuint index, GLuint buffer, GLintptr offset, GLsizei size);
|
||||
typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKIVPROC) (GLuint xfb, GLenum pname, GLint *param);
|
||||
typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKI_VPROC) (GLuint xfb, GLenum pname, GLuint index, GLint *param);
|
||||
typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKI64_VPROC) (GLuint xfb, GLenum pname, GLuint index, GLint64 *param);
|
||||
typedef void (APIENTRYP PFNGLCREATEBUFFERSPROC) (GLsizei n, GLuint *buffers);
|
||||
typedef void (APIENTRYP PFNGLNAMEDBUFFERSTORAGEPROC) (GLuint buffer, GLsizeiptr size, const void *data, GLbitfield flags);
|
||||
typedef void (APIENTRYP PFNGLNAMEDBUFFERDATAPROC) (GLuint buffer, GLsizeiptr size, const void *data, GLenum usage);
|
||||
typedef void (APIENTRYP PFNGLNAMEDBUFFERSUBDATAPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, const void *data);
|
||||
typedef void (APIENTRYP PFNGLCOPYNAMEDBUFFERSUBDATAPROC) (GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
|
||||
typedef void (APIENTRYP PFNGLNAMEDBUFFERSTORAGEPROC) (GLuint buffer, GLsizei size, const void *data, GLbitfield flags);
|
||||
typedef void (APIENTRYP PFNGLNAMEDBUFFERDATAPROC) (GLuint buffer, GLsizei size, const void *data, GLenum usage);
|
||||
typedef void (APIENTRYP PFNGLNAMEDBUFFERSUBDATAPROC) (GLuint buffer, GLintptr offset, GLsizei size, const void *data);
|
||||
typedef void (APIENTRYP PFNGLCOPYNAMEDBUFFERSUBDATAPROC) (GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizei size);
|
||||
typedef void (APIENTRYP PFNGLCLEARNAMEDBUFFERDATAPROC) (GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data);
|
||||
typedef void (APIENTRYP PFNGLCLEARNAMEDBUFFERSUBDATAPROC) (GLuint buffer, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data);
|
||||
typedef void (APIENTRYP PFNGLCLEARNAMEDBUFFERSUBDATAPROC) (GLuint buffer, GLenum internalformat, GLintptr offset, GLsizei size, GLenum format, GLenum type, const void *data);
|
||||
typedef void *(APIENTRYP PFNGLMAPNAMEDBUFFERPROC) (GLuint buffer, GLenum access);
|
||||
typedef void *(APIENTRYP PFNGLMAPNAMEDBUFFERRANGEPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access);
|
||||
typedef void *(APIENTRYP PFNGLMAPNAMEDBUFFERRANGEPROC) (GLuint buffer, GLintptr offset, GLsizei length, GLbitfield access);
|
||||
typedef GLboolean (APIENTRYP PFNGLUNMAPNAMEDBUFFERPROC) (GLuint buffer);
|
||||
typedef void (APIENTRYP PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length);
|
||||
typedef void (APIENTRYP PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC) (GLuint buffer, GLintptr offset, GLsizei length);
|
||||
typedef void (APIENTRYP PFNGLGETNAMEDBUFFERPARAMETERIVPROC) (GLuint buffer, GLenum pname, GLint *params);
|
||||
typedef void (APIENTRYP PFNGLGETNAMEDBUFFERPARAMETERI64VPROC) (GLuint buffer, GLenum pname, GLint64 *params);
|
||||
typedef void (APIENTRYP PFNGLGETNAMEDBUFFERPOINTERVPROC) (GLuint buffer, GLenum pname, void **params);
|
||||
typedef void (APIENTRYP PFNGLGETNAMEDBUFFERSUBDATAPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, void *data);
|
||||
typedef void (APIENTRYP PFNGLGETNAMEDBUFFERSUBDATAPROC) (GLuint buffer, GLintptr offset, GLsizei size, void *data);
|
||||
typedef void (APIENTRYP PFNGLCREATEFRAMEBUFFERSPROC) (GLsizei n, GLuint *framebuffers);
|
||||
typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC) (GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
|
||||
typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERPARAMETERIPROC) (GLuint framebuffer, GLenum pname, GLint param);
|
||||
@@ -2649,7 +2646,7 @@ typedef void (APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEPROC) (GLuint re
|
||||
typedef void (APIENTRYP PFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC) (GLuint renderbuffer, GLenum pname, GLint *params);
|
||||
typedef void (APIENTRYP PFNGLCREATETEXTURESPROC) (GLenum target, GLsizei n, GLuint *textures);
|
||||
typedef void (APIENTRYP PFNGLTEXTUREBUFFERPROC) (GLuint texture, GLenum internalformat, GLuint buffer);
|
||||
typedef void (APIENTRYP PFNGLTEXTUREBUFFERRANGEPROC) (GLuint texture, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);
|
||||
typedef void (APIENTRYP PFNGLTEXTUREBUFFERRANGEPROC) (GLuint texture, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizei size);
|
||||
typedef void (APIENTRYP PFNGLTEXTURESTORAGE1DPROC) (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width);
|
||||
typedef void (APIENTRYP PFNGLTEXTURESTORAGE2DPROC) (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
|
||||
typedef void (APIENTRYP PFNGLTEXTURESTORAGE3DPROC) (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
|
||||
@@ -2697,10 +2694,6 @@ typedef void (APIENTRYP PFNGLGETVERTEXARRAYINDEXED64IVPROC) (GLuint vaobj, GLuin
|
||||
typedef void (APIENTRYP PFNGLCREATESAMPLERSPROC) (GLsizei n, GLuint *samplers);
|
||||
typedef void (APIENTRYP PFNGLCREATEPROGRAMPIPELINESPROC) (GLsizei n, GLuint *pipelines);
|
||||
typedef void (APIENTRYP PFNGLCREATEQUERIESPROC) (GLenum target, GLsizei n, GLuint *ids);
|
||||
typedef void (APIENTRYP PFNGLGETQUERYBUFFEROBJECTI64VPROC) (GLuint id, GLuint buffer, GLenum pname, GLintptr offset);
|
||||
typedef void (APIENTRYP PFNGLGETQUERYBUFFEROBJECTIVPROC) (GLuint id, GLuint buffer, GLenum pname, GLintptr offset);
|
||||
typedef void (APIENTRYP PFNGLGETQUERYBUFFEROBJECTUI64VPROC) (GLuint id, GLuint buffer, GLenum pname, GLintptr offset);
|
||||
typedef void (APIENTRYP PFNGLGETQUERYBUFFEROBJECTUIVPROC) (GLuint id, GLuint buffer, GLenum pname, GLintptr offset);
|
||||
typedef void (APIENTRYP PFNGLMEMORYBARRIERBYREGIONPROC) (GLbitfield barriers);
|
||||
typedef void (APIENTRYP PFNGLGETTEXTURESUBIMAGEPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, void *pixels);
|
||||
typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXTURESUBIMAGEPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei bufSize, void *pixels);
|
||||
@@ -2729,25 +2722,25 @@ typedef void (APIENTRYP PFNGLTEXTUREBARRIERPROC) (void);
|
||||
GLAPI void APIENTRY glClipControl (GLenum origin, GLenum depth);
|
||||
GLAPI void APIENTRY glCreateTransformFeedbacks (GLsizei n, GLuint *ids);
|
||||
GLAPI void APIENTRY glTransformFeedbackBufferBase (GLuint xfb, GLuint index, GLuint buffer);
|
||||
GLAPI void APIENTRY glTransformFeedbackBufferRange (GLuint xfb, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
|
||||
GLAPI void APIENTRY glTransformFeedbackBufferRange (GLuint xfb, GLuint index, GLuint buffer, GLintptr offset, GLsizei size);
|
||||
GLAPI void APIENTRY glGetTransformFeedbackiv (GLuint xfb, GLenum pname, GLint *param);
|
||||
GLAPI void APIENTRY glGetTransformFeedbacki_v (GLuint xfb, GLenum pname, GLuint index, GLint *param);
|
||||
GLAPI void APIENTRY glGetTransformFeedbacki64_v (GLuint xfb, GLenum pname, GLuint index, GLint64 *param);
|
||||
GLAPI void APIENTRY glCreateBuffers (GLsizei n, GLuint *buffers);
|
||||
GLAPI void APIENTRY glNamedBufferStorage (GLuint buffer, GLsizeiptr size, const void *data, GLbitfield flags);
|
||||
GLAPI void APIENTRY glNamedBufferData (GLuint buffer, GLsizeiptr size, const void *data, GLenum usage);
|
||||
GLAPI void APIENTRY glNamedBufferSubData (GLuint buffer, GLintptr offset, GLsizeiptr size, const void *data);
|
||||
GLAPI void APIENTRY glCopyNamedBufferSubData (GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
|
||||
GLAPI void APIENTRY glNamedBufferStorage (GLuint buffer, GLsizei size, const void *data, GLbitfield flags);
|
||||
GLAPI void APIENTRY glNamedBufferData (GLuint buffer, GLsizei size, const void *data, GLenum usage);
|
||||
GLAPI void APIENTRY glNamedBufferSubData (GLuint buffer, GLintptr offset, GLsizei size, const void *data);
|
||||
GLAPI void APIENTRY glCopyNamedBufferSubData (GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizei size);
|
||||
GLAPI void APIENTRY glClearNamedBufferData (GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data);
|
||||
GLAPI void APIENTRY glClearNamedBufferSubData (GLuint buffer, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data);
|
||||
GLAPI void APIENTRY glClearNamedBufferSubData (GLuint buffer, GLenum internalformat, GLintptr offset, GLsizei size, GLenum format, GLenum type, const void *data);
|
||||
GLAPI void *APIENTRY glMapNamedBuffer (GLuint buffer, GLenum access);
|
||||
GLAPI void *APIENTRY glMapNamedBufferRange (GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access);
|
||||
GLAPI void *APIENTRY glMapNamedBufferRange (GLuint buffer, GLintptr offset, GLsizei length, GLbitfield access);
|
||||
GLAPI GLboolean APIENTRY glUnmapNamedBuffer (GLuint buffer);
|
||||
GLAPI void APIENTRY glFlushMappedNamedBufferRange (GLuint buffer, GLintptr offset, GLsizeiptr length);
|
||||
GLAPI void APIENTRY glFlushMappedNamedBufferRange (GLuint buffer, GLintptr offset, GLsizei length);
|
||||
GLAPI void APIENTRY glGetNamedBufferParameteriv (GLuint buffer, GLenum pname, GLint *params);
|
||||
GLAPI void APIENTRY glGetNamedBufferParameteri64v (GLuint buffer, GLenum pname, GLint64 *params);
|
||||
GLAPI void APIENTRY glGetNamedBufferPointerv (GLuint buffer, GLenum pname, void **params);
|
||||
GLAPI void APIENTRY glGetNamedBufferSubData (GLuint buffer, GLintptr offset, GLsizeiptr size, void *data);
|
||||
GLAPI void APIENTRY glGetNamedBufferSubData (GLuint buffer, GLintptr offset, GLsizei size, void *data);
|
||||
GLAPI void APIENTRY glCreateFramebuffers (GLsizei n, GLuint *framebuffers);
|
||||
GLAPI void APIENTRY glNamedFramebufferRenderbuffer (GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
|
||||
GLAPI void APIENTRY glNamedFramebufferParameteri (GLuint framebuffer, GLenum pname, GLint param);
|
||||
@@ -2772,7 +2765,7 @@ GLAPI void APIENTRY glNamedRenderbufferStorageMultisample (GLuint renderbuffer,
|
||||
GLAPI void APIENTRY glGetNamedRenderbufferParameteriv (GLuint renderbuffer, GLenum pname, GLint *params);
|
||||
GLAPI void APIENTRY glCreateTextures (GLenum target, GLsizei n, GLuint *textures);
|
||||
GLAPI void APIENTRY glTextureBuffer (GLuint texture, GLenum internalformat, GLuint buffer);
|
||||
GLAPI void APIENTRY glTextureBufferRange (GLuint texture, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);
|
||||
GLAPI void APIENTRY glTextureBufferRange (GLuint texture, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizei size);
|
||||
GLAPI void APIENTRY glTextureStorage1D (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width);
|
||||
GLAPI void APIENTRY glTextureStorage2D (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
|
||||
GLAPI void APIENTRY glTextureStorage3D (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
|
||||
@@ -2820,10 +2813,6 @@ GLAPI void APIENTRY glGetVertexArrayIndexed64iv (GLuint vaobj, GLuint index, GLe
|
||||
GLAPI void APIENTRY glCreateSamplers (GLsizei n, GLuint *samplers);
|
||||
GLAPI void APIENTRY glCreateProgramPipelines (GLsizei n, GLuint *pipelines);
|
||||
GLAPI void APIENTRY glCreateQueries (GLenum target, GLsizei n, GLuint *ids);
|
||||
GLAPI void APIENTRY glGetQueryBufferObjecti64v (GLuint id, GLuint buffer, GLenum pname, GLintptr offset);
|
||||
GLAPI void APIENTRY glGetQueryBufferObjectiv (GLuint id, GLuint buffer, GLenum pname, GLintptr offset);
|
||||
GLAPI void APIENTRY glGetQueryBufferObjectui64v (GLuint id, GLuint buffer, GLenum pname, GLintptr offset);
|
||||
GLAPI void APIENTRY glGetQueryBufferObjectuiv (GLuint id, GLuint buffer, GLenum pname, GLintptr offset);
|
||||
GLAPI void APIENTRY glMemoryBarrierByRegion (GLbitfield barriers);
|
||||
GLAPI void APIENTRY glGetTextureSubImage (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, void *pixels);
|
||||
GLAPI void APIENTRY glGetCompressedTextureSubImage (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei bufSize, void *pixels);
|
||||
@@ -2990,6 +2979,8 @@ GLAPI void APIENTRY glDispatchComputeGroupSizeARB (GLuint num_groups_x, GLuint n
|
||||
|
||||
#ifndef GL_ARB_copy_buffer
|
||||
#define GL_ARB_copy_buffer 1
|
||||
#define GL_COPY_READ_BUFFER_BINDING 0x8F36
|
||||
#define GL_COPY_WRITE_BUFFER_BINDING 0x8F37
|
||||
#endif /* GL_ARB_copy_buffer */
|
||||
|
||||
#ifndef GL_ARB_copy_image
|
||||
@@ -4074,13 +4065,13 @@ GLAPI void APIENTRY glGetNamedStringivARB (GLint namelen, const GLchar *name, GL
|
||||
#define GL_ARB_sparse_buffer 1
|
||||
#define GL_SPARSE_STORAGE_BIT_ARB 0x0400
|
||||
#define GL_SPARSE_BUFFER_PAGE_SIZE_ARB 0x82F8
|
||||
typedef void (APIENTRYP PFNGLBUFFERPAGECOMMITMENTARBPROC) (GLenum target, GLintptr offset, GLsizeiptr size, GLboolean commit);
|
||||
typedef void (APIENTRYP PFNGLNAMEDBUFFERPAGECOMMITMENTEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, GLboolean commit);
|
||||
typedef void (APIENTRYP PFNGLNAMEDBUFFERPAGECOMMITMENTARBPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, GLboolean commit);
|
||||
typedef void (APIENTRYP PFNGLBUFFERPAGECOMMITMENTARBPROC) (GLenum target, GLintptr offset, GLsizei size, GLboolean commit);
|
||||
typedef void (APIENTRYP PFNGLNAMEDBUFFERPAGECOMMITMENTEXTPROC) (GLuint buffer, GLintptr offset, GLsizei size, GLboolean commit);
|
||||
typedef void (APIENTRYP PFNGLNAMEDBUFFERPAGECOMMITMENTARBPROC) (GLuint buffer, GLintptr offset, GLsizei size, GLboolean commit);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GLAPI void APIENTRY glBufferPageCommitmentARB (GLenum target, GLintptr offset, GLsizeiptr size, GLboolean commit);
|
||||
GLAPI void APIENTRY glNamedBufferPageCommitmentEXT (GLuint buffer, GLintptr offset, GLsizeiptr size, GLboolean commit);
|
||||
GLAPI void APIENTRY glNamedBufferPageCommitmentARB (GLuint buffer, GLintptr offset, GLsizeiptr size, GLboolean commit);
|
||||
GLAPI void APIENTRY glBufferPageCommitmentARB (GLenum target, GLintptr offset, GLsizei size, GLboolean commit);
|
||||
GLAPI void APIENTRY glNamedBufferPageCommitmentEXT (GLuint buffer, GLintptr offset, GLsizei size, GLboolean commit);
|
||||
GLAPI void APIENTRY glNamedBufferPageCommitmentARB (GLuint buffer, GLintptr offset, GLsizei size, GLboolean commit);
|
||||
#endif
|
||||
#endif /* GL_ARB_sparse_buffer */
|
||||
|
||||
@@ -4088,7 +4079,7 @@ GLAPI void APIENTRY glNamedBufferPageCommitmentARB (GLuint buffer, GLintptr offs
|
||||
#define GL_ARB_sparse_texture 1
|
||||
#define GL_TEXTURE_SPARSE_ARB 0x91A6
|
||||
#define GL_VIRTUAL_PAGE_SIZE_INDEX_ARB 0x91A7
|
||||
#define GL_NUM_SPARSE_LEVELS_ARB 0x91AA
|
||||
#define GL_MIN_SPARSE_LEVEL_ARB 0x919B
|
||||
#define GL_NUM_VIRTUAL_PAGE_SIZES_ARB 0x91A8
|
||||
#define GL_VIRTUAL_PAGE_SIZE_X_ARB 0x9195
|
||||
#define GL_VIRTUAL_PAGE_SIZE_Y_ARB 0x9196
|
||||
@@ -4353,6 +4344,8 @@ GLAPI void APIENTRY glGetCompressedTexImageARB (GLenum target, GLint level, void
|
||||
|
||||
#ifndef GL_ARB_transform_feedback2
|
||||
#define GL_ARB_transform_feedback2 1
|
||||
#define GL_TRANSFORM_FEEDBACK_PAUSED 0x8E23
|
||||
#define GL_TRANSFORM_FEEDBACK_ACTIVE 0x8E24
|
||||
#endif /* GL_ARB_transform_feedback2 */
|
||||
|
||||
#ifndef GL_ARB_transform_feedback3
|
||||
@@ -7492,19 +7485,6 @@ GLAPI void APIENTRY glPolygonOffsetEXT (GLfloat factor, GLfloat bias);
|
||||
#endif
|
||||
#endif /* GL_EXT_polygon_offset */
|
||||
|
||||
#ifndef GL_EXT_polygon_offset_clamp
|
||||
#define GL_EXT_polygon_offset_clamp 1
|
||||
#define GL_POLYGON_OFFSET_CLAMP_EXT 0x8E1B
|
||||
typedef void (APIENTRYP PFNGLPOLYGONOFFSETCLAMPEXTPROC) (GLfloat factor, GLfloat units, GLfloat clamp);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GLAPI void APIENTRY glPolygonOffsetClampEXT (GLfloat factor, GLfloat units, GLfloat clamp);
|
||||
#endif
|
||||
#endif /* GL_EXT_polygon_offset_clamp */
|
||||
|
||||
#ifndef GL_EXT_post_depth_coverage
|
||||
#define GL_EXT_post_depth_coverage 1
|
||||
#endif /* GL_EXT_post_depth_coverage */
|
||||
|
||||
#ifndef GL_EXT_provoking_vertex
|
||||
#define GL_EXT_provoking_vertex 1
|
||||
#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT 0x8E4C
|
||||
@@ -7517,20 +7497,6 @@ GLAPI void APIENTRY glProvokingVertexEXT (GLenum mode);
|
||||
#endif
|
||||
#endif /* GL_EXT_provoking_vertex */
|
||||
|
||||
#ifndef GL_EXT_raster_multisample
|
||||
#define GL_EXT_raster_multisample 1
|
||||
#define GL_RASTER_MULTISAMPLE_EXT 0x9327
|
||||
#define GL_RASTER_SAMPLES_EXT 0x9328
|
||||
#define GL_MAX_RASTER_SAMPLES_EXT 0x9329
|
||||
#define GL_RASTER_FIXED_SAMPLE_LOCATIONS_EXT 0x932A
|
||||
#define GL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT 0x932B
|
||||
#define GL_EFFECTIVE_RASTER_SAMPLES_EXT 0x932C
|
||||
typedef void (APIENTRYP PFNGLRASTERSAMPLESEXTPROC) (GLuint samples, GLboolean fixedsamplelocations);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GLAPI void APIENTRY glRasterSamplesEXT (GLuint samples, GLboolean fixedsamplelocations);
|
||||
#endif
|
||||
#endif /* GL_EXT_raster_multisample */
|
||||
|
||||
#ifndef GL_EXT_rescale_normal
|
||||
#define GL_EXT_rescale_normal 1
|
||||
#define GL_RESCALE_NORMAL_EXT 0x803A
|
||||
@@ -7685,10 +7651,6 @@ GLAPI void APIENTRY glMemoryBarrierEXT (GLbitfield barriers);
|
||||
#define GL_SHARED_TEXTURE_PALETTE_EXT 0x81FB
|
||||
#endif /* GL_EXT_shared_texture_palette */
|
||||
|
||||
#ifndef GL_EXT_sparse_texture2
|
||||
#define GL_EXT_sparse_texture2 1
|
||||
#endif /* GL_EXT_sparse_texture2 */
|
||||
|
||||
#ifndef GL_EXT_stencil_clear_tag
|
||||
#define GL_EXT_stencil_clear_tag 1
|
||||
#define GL_STENCIL_TAG_BITS_EXT 0x88F2
|
||||
@@ -7901,10 +7863,6 @@ GLAPI void APIENTRY glTexBufferEXT (GLenum target, GLenum internalformat, GLuint
|
||||
#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF
|
||||
#endif /* GL_EXT_texture_filter_anisotropic */
|
||||
|
||||
#ifndef GL_EXT_texture_filter_minmax
|
||||
#define GL_EXT_texture_filter_minmax 1
|
||||
#endif /* GL_EXT_texture_filter_minmax */
|
||||
|
||||
#ifndef GL_EXT_texture_integer
|
||||
#define GL_EXT_texture_integer 1
|
||||
#define GL_RGBA32UI_EXT 0x8D70
|
||||
@@ -8954,18 +8912,6 @@ GLAPI void APIENTRY glEndConditionalRenderNV (void);
|
||||
#endif
|
||||
#endif /* GL_NV_conditional_render */
|
||||
|
||||
#ifndef GL_NV_conservative_raster
|
||||
#define GL_NV_conservative_raster 1
|
||||
#define GL_CONSERVATIVE_RASTERIZATION_NV 0x9346
|
||||
#define GL_SUBPIXEL_PRECISION_BIAS_X_BITS_NV 0x9347
|
||||
#define GL_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV 0x9348
|
||||
#define GL_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV 0x9349
|
||||
typedef void (APIENTRYP PFNGLSUBPIXELPRECISIONBIASNVPROC) (GLuint xbits, GLuint ybits);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GLAPI void APIENTRY glSubpixelPrecisionBiasNV (GLuint xbits, GLuint ybits);
|
||||
#endif
|
||||
#endif /* GL_NV_conservative_raster */
|
||||
|
||||
#ifndef GL_NV_copy_depth_to_color
|
||||
#define GL_NV_copy_depth_to_color 1
|
||||
#define GL_DEPTH_STENCIL_TO_RGBA_NV 0x886E
|
||||
@@ -9108,11 +9054,6 @@ GLAPI void APIENTRY glSetFenceNV (GLuint fence, GLenum condition);
|
||||
#endif
|
||||
#endif /* GL_NV_fence */
|
||||
|
||||
#ifndef GL_NV_fill_rectangle
|
||||
#define GL_NV_fill_rectangle 1
|
||||
#define GL_FILL_RECTANGLE_NV 0x933C
|
||||
#endif /* GL_NV_fill_rectangle */
|
||||
|
||||
#ifndef GL_NV_float_buffer
|
||||
#define GL_NV_float_buffer 1
|
||||
#define GL_FLOAT_R_NV 0x8880
|
||||
@@ -9139,16 +9080,6 @@ GLAPI void APIENTRY glSetFenceNV (GLuint fence, GLenum condition);
|
||||
#define GL_EYE_PLANE_ABSOLUTE_NV 0x855C
|
||||
#endif /* GL_NV_fog_distance */
|
||||
|
||||
#ifndef GL_NV_fragment_coverage_to_color
|
||||
#define GL_NV_fragment_coverage_to_color 1
|
||||
#define GL_FRAGMENT_COVERAGE_TO_COLOR_NV 0x92DD
|
||||
#define GL_FRAGMENT_COVERAGE_COLOR_NV 0x92DE
|
||||
typedef void (APIENTRYP PFNGLFRAGMENTCOVERAGECOLORNVPROC) (GLuint color);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GLAPI void APIENTRY glFragmentCoverageColorNV (GLuint color);
|
||||
#endif
|
||||
#endif /* GL_NV_fragment_coverage_to_color */
|
||||
|
||||
#ifndef GL_NV_fragment_program
|
||||
#define GL_NV_fragment_program 1
|
||||
#define GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV 0x8868
|
||||
@@ -9190,30 +9121,6 @@ GLAPI void APIENTRY glGetProgramNamedParameterdvNV (GLuint id, GLsizei len, cons
|
||||
#define GL_NV_fragment_program_option 1
|
||||
#endif /* GL_NV_fragment_program_option */
|
||||
|
||||
#ifndef GL_NV_fragment_shader_interlock
|
||||
#define GL_NV_fragment_shader_interlock 1
|
||||
#endif /* GL_NV_fragment_shader_interlock */
|
||||
|
||||
#ifndef GL_NV_framebuffer_mixed_samples
|
||||
#define GL_NV_framebuffer_mixed_samples 1
|
||||
#define GL_COVERAGE_MODULATION_TABLE_NV 0x9331
|
||||
#define GL_COLOR_SAMPLES_NV 0x8E20
|
||||
#define GL_DEPTH_SAMPLES_NV 0x932D
|
||||
#define GL_STENCIL_SAMPLES_NV 0x932E
|
||||
#define GL_MIXED_DEPTH_SAMPLES_SUPPORTED_NV 0x932F
|
||||
#define GL_MIXED_STENCIL_SAMPLES_SUPPORTED_NV 0x9330
|
||||
#define GL_COVERAGE_MODULATION_NV 0x9332
|
||||
#define GL_COVERAGE_MODULATION_TABLE_SIZE_NV 0x9333
|
||||
typedef void (APIENTRYP PFNGLCOVERAGEMODULATIONTABLENVPROC) (GLsizei n, const GLfloat *v);
|
||||
typedef void (APIENTRYP PFNGLGETCOVERAGEMODULATIONTABLENVPROC) (GLsizei bufsize, GLfloat *v);
|
||||
typedef void (APIENTRYP PFNGLCOVERAGEMODULATIONNVPROC) (GLenum components);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GLAPI void APIENTRY glCoverageModulationTableNV (GLsizei n, const GLfloat *v);
|
||||
GLAPI void APIENTRY glGetCoverageModulationTableNV (GLsizei bufsize, GLfloat *v);
|
||||
GLAPI void APIENTRY glCoverageModulationNV (GLenum components);
|
||||
#endif
|
||||
#endif /* GL_NV_framebuffer_mixed_samples */
|
||||
|
||||
#ifndef GL_NV_framebuffer_multisample_coverage
|
||||
#define GL_NV_framebuffer_multisample_coverage 1
|
||||
#define GL_RENDERBUFFER_COVERAGE_SAMPLES_NV 0x8CAB
|
||||
@@ -9245,10 +9152,6 @@ GLAPI void APIENTRY glFramebufferTextureFaceEXT (GLenum target, GLenum attachmen
|
||||
#define GL_NV_geometry_shader4 1
|
||||
#endif /* GL_NV_geometry_shader4 */
|
||||
|
||||
#ifndef GL_NV_geometry_shader_passthrough
|
||||
#define GL_NV_geometry_shader_passthrough 1
|
||||
#endif /* GL_NV_geometry_shader_passthrough */
|
||||
|
||||
#ifndef GL_NV_gpu_program4
|
||||
#define GL_NV_gpu_program4 1
|
||||
#define GL_MIN_PROGRAM_TEXEL_OFFSET_NV 0x8904
|
||||
@@ -9421,18 +9324,6 @@ GLAPI void APIENTRY glVertexAttribs4hvNV (GLuint index, GLsizei n, const GLhalfN
|
||||
#endif
|
||||
#endif /* GL_NV_half_float */
|
||||
|
||||
#ifndef GL_NV_internalformat_sample_query
|
||||
#define GL_NV_internalformat_sample_query 1
|
||||
#define GL_MULTISAMPLES_NV 0x9371
|
||||
#define GL_SUPERSAMPLE_SCALE_X_NV 0x9372
|
||||
#define GL_SUPERSAMPLE_SCALE_Y_NV 0x9373
|
||||
#define GL_CONFORMANT_NV 0x9374
|
||||
typedef void (APIENTRYP PFNGLGETINTERNALFORMATSAMPLEIVNVPROC) (GLenum target, GLenum internalformat, GLsizei samples, GLenum pname, GLsizei bufSize, GLint *params);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GLAPI void APIENTRY glGetInternalformatSampleivNV (GLenum target, GLenum internalformat, GLsizei samples, GLenum pname, GLsizei bufSize, GLint *params);
|
||||
#endif
|
||||
#endif /* GL_NV_internalformat_sample_query */
|
||||
|
||||
#ifndef GL_NV_light_max_exponent
|
||||
#define GL_NV_light_max_exponent 1
|
||||
#define GL_MAX_SHININESS_NV 0x8504
|
||||
@@ -9441,6 +9332,7 @@ GLAPI void APIENTRY glGetInternalformatSampleivNV (GLenum target, GLenum interna
|
||||
|
||||
#ifndef GL_NV_multisample_coverage
|
||||
#define GL_NV_multisample_coverage 1
|
||||
#define GL_COLOR_SAMPLES_NV 0x8E20
|
||||
#endif /* GL_NV_multisample_coverage */
|
||||
|
||||
#ifndef GL_NV_multisample_filter_hint
|
||||
@@ -9553,11 +9445,13 @@ GLAPI void APIENTRY glProgramBufferParametersIuivNV (GLenum target, GLuint bindi
|
||||
#define GL_SKIP_MISSING_GLYPH_NV 0x90A9
|
||||
#define GL_USE_MISSING_GLYPH_NV 0x90AA
|
||||
#define GL_PATH_ERROR_POSITION_NV 0x90AB
|
||||
#define GL_PATH_FOG_GEN_MODE_NV 0x90AC
|
||||
#define GL_ACCUM_ADJACENT_PAIRS_NV 0x90AD
|
||||
#define GL_ADJACENT_PAIRS_NV 0x90AE
|
||||
#define GL_FIRST_TO_REST_NV 0x90AF
|
||||
#define GL_PATH_GEN_MODE_NV 0x90B0
|
||||
#define GL_PATH_GEN_COEFF_NV 0x90B1
|
||||
#define GL_PATH_GEN_COLOR_FORMAT_NV 0x90B2
|
||||
#define GL_PATH_GEN_COMPONENTS_NV 0x90B3
|
||||
#define GL_PATH_STENCIL_FUNC_NV 0x90B7
|
||||
#define GL_PATH_STENCIL_REF_NV 0x90B8
|
||||
@@ -9626,6 +9520,8 @@ GLAPI void APIENTRY glProgramBufferParametersIuivNV (GLenum target, GLuint bindi
|
||||
#define GL_FONT_UNDERLINE_POSITION_BIT_NV 0x04000000
|
||||
#define GL_FONT_UNDERLINE_THICKNESS_BIT_NV 0x08000000
|
||||
#define GL_FONT_HAS_KERNING_BIT_NV 0x10000000
|
||||
#define GL_PRIMARY_COLOR_NV 0x852C
|
||||
#define GL_SECONDARY_COLOR_NV 0x852D
|
||||
#define GL_ROUNDED_RECT_NV 0xE8
|
||||
#define GL_RELATIVE_ROUNDED_RECT_NV 0xE9
|
||||
#define GL_ROUNDED_RECT2_NV 0xEA
|
||||
@@ -9649,10 +9545,6 @@ GLAPI void APIENTRY glProgramBufferParametersIuivNV (GLenum target, GLuint bindi
|
||||
#define GL_EYE_LINEAR_NV 0x2400
|
||||
#define GL_OBJECT_LINEAR_NV 0x2401
|
||||
#define GL_CONSTANT_NV 0x8576
|
||||
#define GL_PATH_FOG_GEN_MODE_NV 0x90AC
|
||||
#define GL_PRIMARY_COLOR_NV 0x852C
|
||||
#define GL_SECONDARY_COLOR_NV 0x852D
|
||||
#define GL_PATH_GEN_COLOR_FORMAT_NV 0x90B2
|
||||
#define GL_PATH_PROJECTION_NV 0x1701
|
||||
#define GL_PATH_MODELVIEW_NV 0x1700
|
||||
#define GL_PATH_MODELVIEW_STACK_DEPTH_NV 0x0BA3
|
||||
@@ -9690,6 +9582,9 @@ typedef void (APIENTRYP PFNGLSTENCILSTROKEPATHNVPROC) (GLuint path, GLint refere
|
||||
typedef void (APIENTRYP PFNGLSTENCILFILLPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat *transformValues);
|
||||
typedef void (APIENTRYP PFNGLSTENCILSTROKEPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum transformType, const GLfloat *transformValues);
|
||||
typedef void (APIENTRYP PFNGLPATHCOVERDEPTHFUNCNVPROC) (GLenum func);
|
||||
typedef void (APIENTRYP PFNGLPATHCOLORGENNVPROC) (GLenum color, GLenum genMode, GLenum colorFormat, const GLfloat *coeffs);
|
||||
typedef void (APIENTRYP PFNGLPATHTEXGENNVPROC) (GLenum texCoordSet, GLenum genMode, GLint components, const GLfloat *coeffs);
|
||||
typedef void (APIENTRYP PFNGLPATHFOGGENNVPROC) (GLenum genMode);
|
||||
typedef void (APIENTRYP PFNGLCOVERFILLPATHNVPROC) (GLuint path, GLenum coverMode);
|
||||
typedef void (APIENTRYP PFNGLCOVERSTROKEPATHNVPROC) (GLuint path, GLenum coverMode);
|
||||
typedef void (APIENTRYP PFNGLCOVERFILLPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues);
|
||||
@@ -9702,6 +9597,10 @@ typedef void (APIENTRYP PFNGLGETPATHDASHARRAYNVPROC) (GLuint path, GLfloat *dash
|
||||
typedef void (APIENTRYP PFNGLGETPATHMETRICSNVPROC) (GLbitfield metricQueryMask, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLsizei stride, GLfloat *metrics);
|
||||
typedef void (APIENTRYP PFNGLGETPATHMETRICRANGENVPROC) (GLbitfield metricQueryMask, GLuint firstPathName, GLsizei numPaths, GLsizei stride, GLfloat *metrics);
|
||||
typedef void (APIENTRYP PFNGLGETPATHSPACINGNVPROC) (GLenum pathListMode, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLfloat advanceScale, GLfloat kerningScale, GLenum transformType, GLfloat *returnedSpacing);
|
||||
typedef void (APIENTRYP PFNGLGETPATHCOLORGENIVNVPROC) (GLenum color, GLenum pname, GLint *value);
|
||||
typedef void (APIENTRYP PFNGLGETPATHCOLORGENFVNVPROC) (GLenum color, GLenum pname, GLfloat *value);
|
||||
typedef void (APIENTRYP PFNGLGETPATHTEXGENIVNVPROC) (GLenum texCoordSet, GLenum pname, GLint *value);
|
||||
typedef void (APIENTRYP PFNGLGETPATHTEXGENFVNVPROC) (GLenum texCoordSet, GLenum pname, GLfloat *value);
|
||||
typedef GLboolean (APIENTRYP PFNGLISPOINTINFILLPATHNVPROC) (GLuint path, GLuint mask, GLfloat x, GLfloat y);
|
||||
typedef GLboolean (APIENTRYP PFNGLISPOINTINSTROKEPATHNVPROC) (GLuint path, GLfloat x, GLfloat y);
|
||||
typedef GLfloat (APIENTRYP PFNGLGETPATHLENGTHNVPROC) (GLuint path, GLsizei startSegment, GLsizei numSegments);
|
||||
@@ -9721,13 +9620,6 @@ typedef GLenum (APIENTRYP PFNGLPATHGLYPHINDEXARRAYNVPROC) (GLuint firstPathName,
|
||||
typedef GLenum (APIENTRYP PFNGLPATHMEMORYGLYPHINDEXARRAYNVPROC) (GLuint firstPathName, GLenum fontTarget, GLsizeiptr fontSize, const void *fontData, GLsizei faceIndex, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMPATHFRAGMENTINPUTGENNVPROC) (GLuint program, GLint location, GLenum genMode, GLint components, const GLfloat *coeffs);
|
||||
typedef void (APIENTRYP PFNGLGETPROGRAMRESOURCEFVNVPROC) (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLfloat *params);
|
||||
typedef void (APIENTRYP PFNGLPATHCOLORGENNVPROC) (GLenum color, GLenum genMode, GLenum colorFormat, const GLfloat *coeffs);
|
||||
typedef void (APIENTRYP PFNGLPATHTEXGENNVPROC) (GLenum texCoordSet, GLenum genMode, GLint components, const GLfloat *coeffs);
|
||||
typedef void (APIENTRYP PFNGLPATHFOGGENNVPROC) (GLenum genMode);
|
||||
typedef void (APIENTRYP PFNGLGETPATHCOLORGENIVNVPROC) (GLenum color, GLenum pname, GLint *value);
|
||||
typedef void (APIENTRYP PFNGLGETPATHCOLORGENFVNVPROC) (GLenum color, GLenum pname, GLfloat *value);
|
||||
typedef void (APIENTRYP PFNGLGETPATHTEXGENIVNVPROC) (GLenum texCoordSet, GLenum pname, GLint *value);
|
||||
typedef void (APIENTRYP PFNGLGETPATHTEXGENFVNVPROC) (GLenum texCoordSet, GLenum pname, GLfloat *value);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GLAPI GLuint APIENTRY glGenPathsNV (GLsizei range);
|
||||
GLAPI void APIENTRY glDeletePathsNV (GLuint path, GLsizei range);
|
||||
@@ -9755,6 +9647,9 @@ GLAPI void APIENTRY glStencilStrokePathNV (GLuint path, GLint reference, GLuint
|
||||
GLAPI void APIENTRY glStencilFillPathInstancedNV (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat *transformValues);
|
||||
GLAPI void APIENTRY glStencilStrokePathInstancedNV (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum transformType, const GLfloat *transformValues);
|
||||
GLAPI void APIENTRY glPathCoverDepthFuncNV (GLenum func);
|
||||
GLAPI void APIENTRY glPathColorGenNV (GLenum color, GLenum genMode, GLenum colorFormat, const GLfloat *coeffs);
|
||||
GLAPI void APIENTRY glPathTexGenNV (GLenum texCoordSet, GLenum genMode, GLint components, const GLfloat *coeffs);
|
||||
GLAPI void APIENTRY glPathFogGenNV (GLenum genMode);
|
||||
GLAPI void APIENTRY glCoverFillPathNV (GLuint path, GLenum coverMode);
|
||||
GLAPI void APIENTRY glCoverStrokePathNV (GLuint path, GLenum coverMode);
|
||||
GLAPI void APIENTRY glCoverFillPathInstancedNV (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues);
|
||||
@@ -9767,6 +9662,10 @@ GLAPI void APIENTRY glGetPathDashArrayNV (GLuint path, GLfloat *dashArray);
|
||||
GLAPI void APIENTRY glGetPathMetricsNV (GLbitfield metricQueryMask, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLsizei stride, GLfloat *metrics);
|
||||
GLAPI void APIENTRY glGetPathMetricRangeNV (GLbitfield metricQueryMask, GLuint firstPathName, GLsizei numPaths, GLsizei stride, GLfloat *metrics);
|
||||
GLAPI void APIENTRY glGetPathSpacingNV (GLenum pathListMode, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLfloat advanceScale, GLfloat kerningScale, GLenum transformType, GLfloat *returnedSpacing);
|
||||
GLAPI void APIENTRY glGetPathColorGenivNV (GLenum color, GLenum pname, GLint *value);
|
||||
GLAPI void APIENTRY glGetPathColorGenfvNV (GLenum color, GLenum pname, GLfloat *value);
|
||||
GLAPI void APIENTRY glGetPathTexGenivNV (GLenum texCoordSet, GLenum pname, GLint *value);
|
||||
GLAPI void APIENTRY glGetPathTexGenfvNV (GLenum texCoordSet, GLenum pname, GLfloat *value);
|
||||
GLAPI GLboolean APIENTRY glIsPointInFillPathNV (GLuint path, GLuint mask, GLfloat x, GLfloat y);
|
||||
GLAPI GLboolean APIENTRY glIsPointInStrokePathNV (GLuint path, GLfloat x, GLfloat y);
|
||||
GLAPI GLfloat APIENTRY glGetPathLengthNV (GLuint path, GLsizei startSegment, GLsizei numSegments);
|
||||
@@ -9786,21 +9685,9 @@ GLAPI GLenum APIENTRY glPathGlyphIndexArrayNV (GLuint firstPathName, GLenum font
|
||||
GLAPI GLenum APIENTRY glPathMemoryGlyphIndexArrayNV (GLuint firstPathName, GLenum fontTarget, GLsizeiptr fontSize, const void *fontData, GLsizei faceIndex, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale);
|
||||
GLAPI void APIENTRY glProgramPathFragmentInputGenNV (GLuint program, GLint location, GLenum genMode, GLint components, const GLfloat *coeffs);
|
||||
GLAPI void APIENTRY glGetProgramResourcefvNV (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLfloat *params);
|
||||
GLAPI void APIENTRY glPathColorGenNV (GLenum color, GLenum genMode, GLenum colorFormat, const GLfloat *coeffs);
|
||||
GLAPI void APIENTRY glPathTexGenNV (GLenum texCoordSet, GLenum genMode, GLint components, const GLfloat *coeffs);
|
||||
GLAPI void APIENTRY glPathFogGenNV (GLenum genMode);
|
||||
GLAPI void APIENTRY glGetPathColorGenivNV (GLenum color, GLenum pname, GLint *value);
|
||||
GLAPI void APIENTRY glGetPathColorGenfvNV (GLenum color, GLenum pname, GLfloat *value);
|
||||
GLAPI void APIENTRY glGetPathTexGenivNV (GLenum texCoordSet, GLenum pname, GLint *value);
|
||||
GLAPI void APIENTRY glGetPathTexGenfvNV (GLenum texCoordSet, GLenum pname, GLfloat *value);
|
||||
#endif
|
||||
#endif /* GL_NV_path_rendering */
|
||||
|
||||
#ifndef GL_NV_path_rendering_shared_edge
|
||||
#define GL_NV_path_rendering_shared_edge 1
|
||||
#define GL_SHARED_EDGE_NV 0xC0
|
||||
#endif /* GL_NV_path_rendering_shared_edge */
|
||||
|
||||
#ifndef GL_NV_pixel_data_range
|
||||
#define GL_NV_pixel_data_range 1
|
||||
#define GL_WRITE_PIXEL_DATA_RANGE_NV 0x8878
|
||||
@@ -9958,30 +9845,6 @@ GLAPI void APIENTRY glGetCombinerStageParameterfvNV (GLenum stage, GLenum pname,
|
||||
#endif
|
||||
#endif /* GL_NV_register_combiners2 */
|
||||
|
||||
#ifndef GL_NV_sample_locations
|
||||
#define GL_NV_sample_locations 1
|
||||
#define GL_SAMPLE_LOCATION_SUBPIXEL_BITS_NV 0x933D
|
||||
#define GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_NV 0x933E
|
||||
#define GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_NV 0x933F
|
||||
#define GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_NV 0x9340
|
||||
#define GL_SAMPLE_LOCATION_NV 0x8E50
|
||||
#define GL_PROGRAMMABLE_SAMPLE_LOCATION_NV 0x9341
|
||||
#define GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_NV 0x9342
|
||||
#define GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_NV 0x9343
|
||||
typedef void (APIENTRYP PFNGLFRAMEBUFFERSAMPLELOCATIONSFVNVPROC) (GLenum target, GLuint start, GLsizei count, const GLfloat *v);
|
||||
typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVNVPROC) (GLuint framebuffer, GLuint start, GLsizei count, const GLfloat *v);
|
||||
typedef void (APIENTRYP PFNGLRESOLVEDEPTHVALUESNVPROC) (void);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GLAPI void APIENTRY glFramebufferSampleLocationsfvNV (GLenum target, GLuint start, GLsizei count, const GLfloat *v);
|
||||
GLAPI void APIENTRY glNamedFramebufferSampleLocationsfvNV (GLuint framebuffer, GLuint start, GLsizei count, const GLfloat *v);
|
||||
GLAPI void APIENTRY glResolveDepthValuesNV (void);
|
||||
#endif
|
||||
#endif /* GL_NV_sample_locations */
|
||||
|
||||
#ifndef GL_NV_sample_mask_override_coverage
|
||||
#define GL_NV_sample_mask_override_coverage 1
|
||||
#endif /* GL_NV_sample_mask_override_coverage */
|
||||
|
||||
#ifndef GL_NV_shader_atomic_counters
|
||||
#define GL_NV_shader_atomic_counters 1
|
||||
#endif /* GL_NV_shader_atomic_counters */
|
||||
@@ -9990,10 +9853,6 @@ GLAPI void APIENTRY glResolveDepthValuesNV (void);
|
||||
#define GL_NV_shader_atomic_float 1
|
||||
#endif /* GL_NV_shader_atomic_float */
|
||||
|
||||
#ifndef GL_NV_shader_atomic_fp16_vector
|
||||
#define GL_NV_shader_atomic_fp16_vector 1
|
||||
#endif /* GL_NV_shader_atomic_fp16_vector */
|
||||
|
||||
#ifndef GL_NV_shader_atomic_int64
|
||||
#define GL_NV_shader_atomic_int64 1
|
||||
#endif /* GL_NV_shader_atomic_int64 */
|
||||
@@ -10317,13 +10176,6 @@ GLAPI void APIENTRY glDrawTransformFeedbackNV (GLenum mode, GLuint id);
|
||||
#endif
|
||||
#endif /* GL_NV_transform_feedback2 */
|
||||
|
||||
#ifndef GL_NV_uniform_buffer_unified_memory
|
||||
#define GL_NV_uniform_buffer_unified_memory 1
|
||||
#define GL_UNIFORM_BUFFER_UNIFIED_NV 0x936E
|
||||
#define GL_UNIFORM_BUFFER_ADDRESS_NV 0x936F
|
||||
#define GL_UNIFORM_BUFFER_LENGTH_NV 0x9370
|
||||
#endif /* GL_NV_uniform_buffer_unified_memory */
|
||||
|
||||
#ifndef GL_NV_vdpau_interop
|
||||
#define GL_NV_vdpau_interop 1
|
||||
typedef GLintptr GLvdpauSurfaceNV;
|
||||
@@ -10819,10 +10671,6 @@ GLAPI void APIENTRY glVideoCaptureStreamParameterdvNV (GLuint video_capture_slot
|
||||
#endif
|
||||
#endif /* GL_NV_video_capture */
|
||||
|
||||
#ifndef GL_NV_viewport_array2
|
||||
#define GL_NV_viewport_array2 1
|
||||
#endif /* GL_NV_viewport_array2 */
|
||||
|
||||
#ifndef GL_OML_interlace
|
||||
#define GL_OML_interlace 1
|
||||
#define GL_INTERLACE_OML 0x8980
|
||||
@@ -11401,10 +11249,10 @@ GLAPI void APIENTRY glReferencePlaneSGIX (const GLdouble *equation);
|
||||
|
||||
#ifndef GL_SGIX_resample
|
||||
#define GL_SGIX_resample 1
|
||||
#define GL_PACK_RESAMPLE_SGIX 0x842E
|
||||
#define GL_UNPACK_RESAMPLE_SGIX 0x842F
|
||||
#define GL_RESAMPLE_REPLICATE_SGIX 0x8433
|
||||
#define GL_RESAMPLE_ZERO_FILL_SGIX 0x8434
|
||||
#define GL_PACK_RESAMPLE_SGIX 0x842C
|
||||
#define GL_UNPACK_RESAMPLE_SGIX 0x842D
|
||||
#define GL_RESAMPLE_REPLICATE_SGIX 0x842E
|
||||
#define GL_RESAMPLE_ZERO_FILL_SGIX 0x842F
|
||||
#define GL_RESAMPLE_DECIMATE_SGIX 0x8430
|
||||
#endif /* GL_SGIX_resample */
|
||||
|
||||
|
@@ -85,7 +85,6 @@ typedef struct __DRIdri2ExtensionRec __DRIdri2Extension;
|
||||
typedef struct __DRIdri2LoaderExtensionRec __DRIdri2LoaderExtension;
|
||||
typedef struct __DRI2flushExtensionRec __DRI2flushExtension;
|
||||
typedef struct __DRI2throttleExtensionRec __DRI2throttleExtension;
|
||||
typedef struct __DRI2fenceExtensionRec __DRI2fenceExtension;
|
||||
|
||||
|
||||
typedef struct __DRIimageLoaderExtensionRec __DRIimageLoaderExtension;
|
||||
@@ -280,7 +279,6 @@ struct __DRItexBufferExtensionRec {
|
||||
|
||||
#define __DRI2_FLUSH_DRAWABLE (1 << 0) /* the drawable should be flushed. */
|
||||
#define __DRI2_FLUSH_CONTEXT (1 << 1) /* glFlush should be called */
|
||||
#define __DRI2_FLUSH_INVALIDATE_ANCILLARY (1 << 2)
|
||||
|
||||
enum __DRI2throttleReason {
|
||||
__DRI2_THROTTLE_SWAPBUFFER,
|
||||
@@ -340,65 +338,6 @@ struct __DRI2throttleExtensionRec {
|
||||
enum __DRI2throttleReason reason);
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Extension for fences / synchronization objects.
|
||||
*/
|
||||
|
||||
#define __DRI2_FENCE "DRI2_Fence"
|
||||
#define __DRI2_FENCE_VERSION 1
|
||||
|
||||
#define __DRI2_FENCE_TIMEOUT_INFINITE 0xffffffffffffffffllu
|
||||
|
||||
#define __DRI2_FENCE_FLAG_FLUSH_COMMANDS (1 << 0)
|
||||
|
||||
struct __DRI2fenceExtensionRec {
|
||||
__DRIextension base;
|
||||
|
||||
/**
|
||||
* Create and insert a fence into the command stream of the context.
|
||||
*/
|
||||
void *(*create_fence)(__DRIcontext *ctx);
|
||||
|
||||
/**
|
||||
* Get a fence associated with the OpenCL event object.
|
||||
* This can be NULL, meaning that OpenCL interoperability is not supported.
|
||||
*/
|
||||
void *(*get_fence_from_cl_event)(__DRIscreen *screen, intptr_t cl_event);
|
||||
|
||||
/**
|
||||
* Destroy a fence.
|
||||
*/
|
||||
void (*destroy_fence)(__DRIscreen *screen, void *fence);
|
||||
|
||||
/**
|
||||
* This function waits and doesn't return until the fence is signalled
|
||||
* or the timeout expires. It returns true if the fence has been signaled.
|
||||
*
|
||||
* \param ctx the context where commands are flushed
|
||||
* \param fence the fence
|
||||
* \param flags a combination of __DRI2_FENCE_FLAG_xxx flags
|
||||
* \param timeout the timeout in ns or __DRI2_FENCE_TIMEOUT_INFINITE
|
||||
*/
|
||||
GLboolean (*client_wait_sync)(__DRIcontext *ctx, void *fence,
|
||||
unsigned flags, uint64_t timeout);
|
||||
|
||||
/**
|
||||
* This function enqueues a wait command into the command stream of
|
||||
* the context and then returns. When the execution reaches the wait
|
||||
* command, no further execution will be done in the context until
|
||||
* the fence is signaled. This is a no-op if the device doesn't support
|
||||
* parallel execution of contexts.
|
||||
*
|
||||
* \param ctx the context where the waiting is done
|
||||
* \param fence the fence
|
||||
* \param flags a combination of __DRI2_FENCE_FLAG_xxx flags that make
|
||||
* sense with this function (right now there are none)
|
||||
*/
|
||||
void (*server_wait_sync)(__DRIcontext *ctx, void *fence, unsigned flags);
|
||||
};
|
||||
|
||||
|
||||
/*@}*/
|
||||
|
||||
/**
|
||||
@@ -1066,7 +1005,7 @@ struct __DRIdri2ExtensionRec {
|
||||
* extensions.
|
||||
*/
|
||||
#define __DRI_IMAGE "DRI_IMAGE"
|
||||
#define __DRI_IMAGE_VERSION 11
|
||||
#define __DRI_IMAGE_VERSION 10
|
||||
|
||||
/**
|
||||
* These formats correspond to the similarly named MESA_FORMAT_*
|
||||
@@ -1157,8 +1096,6 @@ struct __DRIdri2ExtensionRec {
|
||||
#define __DRI_IMAGE_ATTRIB_FD 0x2007 /* available in versions
|
||||
* 7+. Each query will return a
|
||||
* new fd. */
|
||||
#define __DRI_IMAGE_ATTRIB_FOURCC 0x2008 /* available in versions 11 */
|
||||
#define __DRI_IMAGE_ATTRIB_NUM_PLANES 0x2009 /* available in versions 11 */
|
||||
|
||||
enum __DRIYUVColorSpace {
|
||||
__DRI_YUV_COLOR_SPACE_UNDEFINED = 0,
|
||||
@@ -1180,8 +1117,7 @@ enum __DRIChromaSiting {
|
||||
};
|
||||
|
||||
/**
|
||||
* \name Reasons that __DRIimageExtensionRec::createImageFromTexture or
|
||||
* __DRIimageExtensionRec::createImageFromDmaBufs might fail
|
||||
* \name Reasons that __DRIimageExtensionRec::createImageFromTexture might fail
|
||||
*/
|
||||
/*@{*/
|
||||
/** Success! */
|
||||
@@ -1190,14 +1126,11 @@ enum __DRIChromaSiting {
|
||||
/** Memory allocation failure */
|
||||
#define __DRI_IMAGE_ERROR_BAD_ALLOC 1
|
||||
|
||||
/** Client requested an invalid attribute */
|
||||
/** Client requested an invalid attribute for a texture object */
|
||||
#define __DRI_IMAGE_ERROR_BAD_MATCH 2
|
||||
|
||||
/** Client requested an invalid texture object */
|
||||
#define __DRI_IMAGE_ERROR_BAD_PARAMETER 3
|
||||
|
||||
/** Client requested an invalid pitch and/or offset */
|
||||
#define __DRI_IMAGE_ERROR_BAD_ACCESS 4
|
||||
/*@}*/
|
||||
|
||||
/**
|
||||
|
@@ -41,8 +41,10 @@
|
||||
* OSMesaGetIntegerv - return OSMesa state parameters
|
||||
*
|
||||
*
|
||||
* The limits on the width and height of an image buffer can be retrieved
|
||||
* via OSMesaGetIntegerv(OSMESA_MAX_WIDTH/OSMESA_MAX_HEIGHT).
|
||||
* The limits on the width and height of an image buffer are MAX_WIDTH and
|
||||
* MAX_HEIGHT as defined in Mesa/src/config.h. Defaults are 1280 and 1024.
|
||||
* You can increase them as needed but beware that many temporary arrays in
|
||||
* Mesa are dimensioned by MAX_WIDTH or MAX_HEIGHT.
|
||||
*/
|
||||
|
||||
|
||||
|
140
include/GL/wmesa.h
Normal file
140
include/GL/wmesa.h
Normal file
@@ -0,0 +1,140 @@
|
||||
/*
|
||||
* Mesa 3-D graphics library
|
||||
* Copyright (C) 1995-1998 Brian Paul
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Library General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this library; if not, write to the Free
|
||||
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Windows driver by: Mark E. Peterson (markp@ic.mankato.mn.us)
|
||||
* Updated by Li Wei (liwei@aiar.xjtu.edu.cn)
|
||||
*
|
||||
*
|
||||
***************************************************************
|
||||
* WMesa *
|
||||
* version 2.3 *
|
||||
* *
|
||||
* By *
|
||||
* Li Wei *
|
||||
* Institute of Artificial Intelligence & Robotics *
|
||||
* Xi'an Jiaotong University *
|
||||
* Email: liwei@aiar.xjtu.edu.cn *
|
||||
* Web page: http://sun.aiar.xjtu.edu.cn *
|
||||
* *
|
||||
* July 7th, 1997 *
|
||||
***************************************************************
|
||||
*/
|
||||
|
||||
|
||||
#ifndef WMESA_H
|
||||
#define WMESA_H
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
#include "GL/gl.h"
|
||||
|
||||
#if defined(_MSV_VER) && !defined(__GNUC__)
|
||||
# pragma warning (disable:4273)
|
||||
# pragma warning( disable : 4244 ) /* '=' : conversion from 'const double ' to 'float ', possible loss of data */
|
||||
# pragma warning( disable : 4018 ) /* '<' : signed/unsigned mismatch */
|
||||
# pragma warning( disable : 4305 ) /* '=' : truncation from 'const double ' to 'float ' */
|
||||
# pragma warning( disable : 4013 ) /* 'function' undefined; assuming extern returning int */
|
||||
# pragma warning( disable : 4761 ) /* integral size mismatch in argument; conversion supplied */
|
||||
# pragma warning( disable : 4273 ) /* 'identifier' : inconsistent DLL linkage. dllexport assumed */
|
||||
# if (MESA_WARNQUIET>1)
|
||||
# pragma warning( disable : 4146 ) /* unary minus operator applied to unsigned type, result still unsigned */
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* This is the WMesa context 'handle':
|
||||
*/
|
||||
typedef struct wmesa_context *WMesaContext;
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Create a new WMesaContext for rendering into a window. You must
|
||||
* have already created the window of correct visual type and with an
|
||||
* appropriate colormap.
|
||||
*
|
||||
* Input:
|
||||
* hDC - Windows device or memory context
|
||||
* Pal - Palette to use
|
||||
* rgb_flag - GL_TRUE = RGB mode,
|
||||
* GL_FALSE = color index mode
|
||||
* db_flag - GL_TRUE = double-buffered,
|
||||
* GL_FALSE = single buffered
|
||||
* alpha_flag - GL_TRUE = create software alpha buffer,
|
||||
* GL_FALSE = no software alpha buffer
|
||||
*
|
||||
* Note: Indexed mode requires double buffering under Windows.
|
||||
*
|
||||
* Return: a WMesa_context or NULL if error.
|
||||
*/
|
||||
extern WMesaContext WMesaCreateContext(HDC hDC,HPALETTE* pPal,
|
||||
GLboolean rgb_flag,
|
||||
GLboolean db_flag,
|
||||
GLboolean alpha_flag);
|
||||
|
||||
|
||||
/*
|
||||
* Destroy a rendering context as returned by WMesaCreateContext()
|
||||
*/
|
||||
extern void WMesaDestroyContext( WMesaContext ctx );
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Make the specified context the current one.
|
||||
*/
|
||||
extern void WMesaMakeCurrent( WMesaContext ctx, HDC hdc );
|
||||
|
||||
|
||||
/*
|
||||
* Return a handle to the current context.
|
||||
*/
|
||||
extern WMesaContext WMesaGetCurrentContext( void );
|
||||
|
||||
|
||||
/*
|
||||
* Swap the front and back buffers for the current context. No action
|
||||
* taken if the context is not double buffered.
|
||||
*/
|
||||
extern void WMesaSwapBuffers(HDC hdc);
|
||||
|
||||
|
||||
/*
|
||||
* In indexed color mode we need to know when the palette changes.
|
||||
*/
|
||||
extern void WMesaPaletteChange(HPALETTE Pal);
|
||||
|
||||
extern void WMesaMove(void);
|
||||
|
||||
void WMesaShareLists(WMesaContext ctx_to_share, WMesaContext ctx);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#endif
|
||||
|
746
include/VG/openvg.h
Normal file
746
include/VG/openvg.h
Normal file
@@ -0,0 +1,746 @@
|
||||
/* $Revision: 9203 $ on $Date:: 2009-10-07 02:21:52 -0700 #$ */
|
||||
|
||||
/*------------------------------------------------------------------------
|
||||
*
|
||||
* OpenVG 1.1 Reference Implementation
|
||||
* -------------------------------------
|
||||
*
|
||||
* Copyright (c) 2008 The Khronos Group Inc.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and /or associated documentation files
|
||||
* (the "Materials "), to deal in the Materials without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, sublicense, and/or sell copies of the Materials,
|
||||
* and to permit persons to whom the Materials are furnished to do so,
|
||||
* subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included
|
||||
* in all copies or substantial portions of the Materials.
|
||||
*
|
||||
* THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
||||
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||||
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE MATERIALS OR
|
||||
* THE USE OR OTHER DEALINGS IN THE MATERIALS.
|
||||
*
|
||||
*//**
|
||||
* \file
|
||||
* \brief OpenVG 1.1 API.
|
||||
*//*-------------------------------------------------------------------*/
|
||||
|
||||
#ifndef _OPENVG_H
|
||||
#define _OPENVG_H
|
||||
|
||||
#include <VG/vgplatform.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define OPENVG_VERSION_1_0 1
|
||||
#define OPENVG_VERSION_1_0_1 1
|
||||
#define OPENVG_VERSION_1_1 2
|
||||
|
||||
#ifndef VG_MAXSHORT
|
||||
#define VG_MAXSHORT 0x7FFF
|
||||
#endif
|
||||
|
||||
#ifndef VG_MAXINT
|
||||
#define VG_MAXINT 0x7FFFFFFF
|
||||
#endif
|
||||
|
||||
#ifndef VG_MAX_ENUM
|
||||
#define VG_MAX_ENUM 0x7FFFFFFF
|
||||
#endif
|
||||
|
||||
typedef VGuint VGHandle;
|
||||
|
||||
typedef VGHandle VGPath;
|
||||
typedef VGHandle VGImage;
|
||||
typedef VGHandle VGMaskLayer;
|
||||
typedef VGHandle VGFont;
|
||||
typedef VGHandle VGPaint;
|
||||
|
||||
#define VG_INVALID_HANDLE ((VGHandle)0)
|
||||
|
||||
typedef enum {
|
||||
VG_FALSE = 0,
|
||||
VG_TRUE = 1,
|
||||
|
||||
VG_BOOLEAN_FORCE_SIZE = VG_MAX_ENUM
|
||||
} VGboolean;
|
||||
|
||||
typedef enum {
|
||||
VG_NO_ERROR = 0,
|
||||
VG_BAD_HANDLE_ERROR = 0x1000,
|
||||
VG_ILLEGAL_ARGUMENT_ERROR = 0x1001,
|
||||
VG_OUT_OF_MEMORY_ERROR = 0x1002,
|
||||
VG_PATH_CAPABILITY_ERROR = 0x1003,
|
||||
VG_UNSUPPORTED_IMAGE_FORMAT_ERROR = 0x1004,
|
||||
VG_UNSUPPORTED_PATH_FORMAT_ERROR = 0x1005,
|
||||
VG_IMAGE_IN_USE_ERROR = 0x1006,
|
||||
VG_NO_CONTEXT_ERROR = 0x1007,
|
||||
|
||||
VG_ERROR_CODE_FORCE_SIZE = VG_MAX_ENUM
|
||||
} VGErrorCode;
|
||||
|
||||
typedef enum {
|
||||
/* Mode settings */
|
||||
VG_MATRIX_MODE = 0x1100,
|
||||
VG_FILL_RULE = 0x1101,
|
||||
VG_IMAGE_QUALITY = 0x1102,
|
||||
VG_RENDERING_QUALITY = 0x1103,
|
||||
VG_BLEND_MODE = 0x1104,
|
||||
VG_IMAGE_MODE = 0x1105,
|
||||
|
||||
/* Scissoring rectangles */
|
||||
VG_SCISSOR_RECTS = 0x1106,
|
||||
|
||||
/* Color Transformation */
|
||||
VG_COLOR_TRANSFORM = 0x1170,
|
||||
VG_COLOR_TRANSFORM_VALUES = 0x1171,
|
||||
|
||||
/* Stroke parameters */
|
||||
VG_STROKE_LINE_WIDTH = 0x1110,
|
||||
VG_STROKE_CAP_STYLE = 0x1111,
|
||||
VG_STROKE_JOIN_STYLE = 0x1112,
|
||||
VG_STROKE_MITER_LIMIT = 0x1113,
|
||||
VG_STROKE_DASH_PATTERN = 0x1114,
|
||||
VG_STROKE_DASH_PHASE = 0x1115,
|
||||
VG_STROKE_DASH_PHASE_RESET = 0x1116,
|
||||
|
||||
/* Edge fill color for VG_TILE_FILL tiling mode */
|
||||
VG_TILE_FILL_COLOR = 0x1120,
|
||||
|
||||
/* Color for vgClear */
|
||||
VG_CLEAR_COLOR = 0x1121,
|
||||
|
||||
/* Glyph origin */
|
||||
VG_GLYPH_ORIGIN = 0x1122,
|
||||
|
||||
/* Enable/disable alpha masking and scissoring */
|
||||
VG_MASKING = 0x1130,
|
||||
VG_SCISSORING = 0x1131,
|
||||
|
||||
/* Pixel layout information */
|
||||
VG_PIXEL_LAYOUT = 0x1140,
|
||||
VG_SCREEN_LAYOUT = 0x1141,
|
||||
|
||||
/* Source format selection for image filters */
|
||||
VG_FILTER_FORMAT_LINEAR = 0x1150,
|
||||
VG_FILTER_FORMAT_PREMULTIPLIED = 0x1151,
|
||||
|
||||
/* Destination write enable mask for image filters */
|
||||
VG_FILTER_CHANNEL_MASK = 0x1152,
|
||||
|
||||
/* Implementation limits (read-only) */
|
||||
VG_MAX_SCISSOR_RECTS = 0x1160,
|
||||
VG_MAX_DASH_COUNT = 0x1161,
|
||||
VG_MAX_KERNEL_SIZE = 0x1162,
|
||||
VG_MAX_SEPARABLE_KERNEL_SIZE = 0x1163,
|
||||
VG_MAX_COLOR_RAMP_STOPS = 0x1164,
|
||||
VG_MAX_IMAGE_WIDTH = 0x1165,
|
||||
VG_MAX_IMAGE_HEIGHT = 0x1166,
|
||||
VG_MAX_IMAGE_PIXELS = 0x1167,
|
||||
VG_MAX_IMAGE_BYTES = 0x1168,
|
||||
VG_MAX_FLOAT = 0x1169,
|
||||
VG_MAX_GAUSSIAN_STD_DEVIATION = 0x116A,
|
||||
|
||||
VG_PARAM_TYPE_FORCE_SIZE = VG_MAX_ENUM
|
||||
} VGParamType;
|
||||
|
||||
typedef enum {
|
||||
VG_RENDERING_QUALITY_NONANTIALIASED = 0x1200,
|
||||
VG_RENDERING_QUALITY_FASTER = 0x1201,
|
||||
VG_RENDERING_QUALITY_BETTER = 0x1202, /* Default */
|
||||
|
||||
VG_RENDERING_QUALITY_FORCE_SIZE = VG_MAX_ENUM
|
||||
} VGRenderingQuality;
|
||||
|
||||
typedef enum {
|
||||
VG_PIXEL_LAYOUT_UNKNOWN = 0x1300,
|
||||
VG_PIXEL_LAYOUT_RGB_VERTICAL = 0x1301,
|
||||
VG_PIXEL_LAYOUT_BGR_VERTICAL = 0x1302,
|
||||
VG_PIXEL_LAYOUT_RGB_HORIZONTAL = 0x1303,
|
||||
VG_PIXEL_LAYOUT_BGR_HORIZONTAL = 0x1304,
|
||||
|
||||
VG_PIXEL_LAYOUT_FORCE_SIZE = VG_MAX_ENUM
|
||||
} VGPixelLayout;
|
||||
|
||||
typedef enum {
|
||||
VG_MATRIX_PATH_USER_TO_SURFACE = 0x1400,
|
||||
VG_MATRIX_IMAGE_USER_TO_SURFACE = 0x1401,
|
||||
VG_MATRIX_FILL_PAINT_TO_USER = 0x1402,
|
||||
VG_MATRIX_STROKE_PAINT_TO_USER = 0x1403,
|
||||
VG_MATRIX_GLYPH_USER_TO_SURFACE = 0x1404,
|
||||
|
||||
VG_MATRIX_MODE_FORCE_SIZE = VG_MAX_ENUM
|
||||
} VGMatrixMode;
|
||||
|
||||
typedef enum {
|
||||
VG_CLEAR_MASK = 0x1500,
|
||||
VG_FILL_MASK = 0x1501,
|
||||
VG_SET_MASK = 0x1502,
|
||||
VG_UNION_MASK = 0x1503,
|
||||
VG_INTERSECT_MASK = 0x1504,
|
||||
VG_SUBTRACT_MASK = 0x1505,
|
||||
|
||||
VG_MASK_OPERATION_FORCE_SIZE = VG_MAX_ENUM
|
||||
} VGMaskOperation;
|
||||
|
||||
#define VG_PATH_FORMAT_STANDARD 0
|
||||
|
||||
typedef enum {
|
||||
VG_PATH_DATATYPE_S_8 = 0,
|
||||
VG_PATH_DATATYPE_S_16 = 1,
|
||||
VG_PATH_DATATYPE_S_32 = 2,
|
||||
VG_PATH_DATATYPE_F = 3,
|
||||
|
||||
VG_PATH_DATATYPE_FORCE_SIZE = VG_MAX_ENUM
|
||||
} VGPathDatatype;
|
||||
|
||||
typedef enum {
|
||||
VG_ABSOLUTE = 0,
|
||||
VG_RELATIVE = 1,
|
||||
|
||||
VG_PATH_ABS_REL_FORCE_SIZE = VG_MAX_ENUM
|
||||
} VGPathAbsRel;
|
||||
|
||||
typedef enum {
|
||||
VG_CLOSE_PATH = ( 0 << 1),
|
||||
VG_MOVE_TO = ( 1 << 1),
|
||||
VG_LINE_TO = ( 2 << 1),
|
||||
VG_HLINE_TO = ( 3 << 1),
|
||||
VG_VLINE_TO = ( 4 << 1),
|
||||
VG_QUAD_TO = ( 5 << 1),
|
||||
VG_CUBIC_TO = ( 6 << 1),
|
||||
VG_SQUAD_TO = ( 7 << 1),
|
||||
VG_SCUBIC_TO = ( 8 << 1),
|
||||
VG_SCCWARC_TO = ( 9 << 1),
|
||||
VG_SCWARC_TO = (10 << 1),
|
||||
VG_LCCWARC_TO = (11 << 1),
|
||||
VG_LCWARC_TO = (12 << 1),
|
||||
|
||||
VG_PATH_SEGMENT_FORCE_SIZE = VG_MAX_ENUM
|
||||
} VGPathSegment;
|
||||
|
||||
typedef enum {
|
||||
VG_MOVE_TO_ABS = VG_MOVE_TO | VG_ABSOLUTE,
|
||||
VG_MOVE_TO_REL = VG_MOVE_TO | VG_RELATIVE,
|
||||
VG_LINE_TO_ABS = VG_LINE_TO | VG_ABSOLUTE,
|
||||
VG_LINE_TO_REL = VG_LINE_TO | VG_RELATIVE,
|
||||
VG_HLINE_TO_ABS = VG_HLINE_TO | VG_ABSOLUTE,
|
||||
VG_HLINE_TO_REL = VG_HLINE_TO | VG_RELATIVE,
|
||||
VG_VLINE_TO_ABS = VG_VLINE_TO | VG_ABSOLUTE,
|
||||
VG_VLINE_TO_REL = VG_VLINE_TO | VG_RELATIVE,
|
||||
VG_QUAD_TO_ABS = VG_QUAD_TO | VG_ABSOLUTE,
|
||||
VG_QUAD_TO_REL = VG_QUAD_TO | VG_RELATIVE,
|
||||
VG_CUBIC_TO_ABS = VG_CUBIC_TO | VG_ABSOLUTE,
|
||||
VG_CUBIC_TO_REL = VG_CUBIC_TO | VG_RELATIVE,
|
||||
VG_SQUAD_TO_ABS = VG_SQUAD_TO | VG_ABSOLUTE,
|
||||
VG_SQUAD_TO_REL = VG_SQUAD_TO | VG_RELATIVE,
|
||||
VG_SCUBIC_TO_ABS = VG_SCUBIC_TO | VG_ABSOLUTE,
|
||||
VG_SCUBIC_TO_REL = VG_SCUBIC_TO | VG_RELATIVE,
|
||||
VG_SCCWARC_TO_ABS = VG_SCCWARC_TO | VG_ABSOLUTE,
|
||||
VG_SCCWARC_TO_REL = VG_SCCWARC_TO | VG_RELATIVE,
|
||||
VG_SCWARC_TO_ABS = VG_SCWARC_TO | VG_ABSOLUTE,
|
||||
VG_SCWARC_TO_REL = VG_SCWARC_TO | VG_RELATIVE,
|
||||
VG_LCCWARC_TO_ABS = VG_LCCWARC_TO | VG_ABSOLUTE,
|
||||
VG_LCCWARC_TO_REL = VG_LCCWARC_TO | VG_RELATIVE,
|
||||
VG_LCWARC_TO_ABS = VG_LCWARC_TO | VG_ABSOLUTE,
|
||||
VG_LCWARC_TO_REL = VG_LCWARC_TO | VG_RELATIVE,
|
||||
|
||||
VG_PATH_COMMAND_FORCE_SIZE = VG_MAX_ENUM
|
||||
} VGPathCommand;
|
||||
|
||||
typedef enum {
|
||||
VG_PATH_CAPABILITY_APPEND_FROM = (1 << 0),
|
||||
VG_PATH_CAPABILITY_APPEND_TO = (1 << 1),
|
||||
VG_PATH_CAPABILITY_MODIFY = (1 << 2),
|
||||
VG_PATH_CAPABILITY_TRANSFORM_FROM = (1 << 3),
|
||||
VG_PATH_CAPABILITY_TRANSFORM_TO = (1 << 4),
|
||||
VG_PATH_CAPABILITY_INTERPOLATE_FROM = (1 << 5),
|
||||
VG_PATH_CAPABILITY_INTERPOLATE_TO = (1 << 6),
|
||||
VG_PATH_CAPABILITY_PATH_LENGTH = (1 << 7),
|
||||
VG_PATH_CAPABILITY_POINT_ALONG_PATH = (1 << 8),
|
||||
VG_PATH_CAPABILITY_TANGENT_ALONG_PATH = (1 << 9),
|
||||
VG_PATH_CAPABILITY_PATH_BOUNDS = (1 << 10),
|
||||
VG_PATH_CAPABILITY_PATH_TRANSFORMED_BOUNDS = (1 << 11),
|
||||
VG_PATH_CAPABILITY_ALL = (1 << 12) - 1,
|
||||
|
||||
VG_PATH_CAPABILITIES_FORCE_SIZE = VG_MAX_ENUM
|
||||
} VGPathCapabilities;
|
||||
|
||||
typedef enum {
|
||||
VG_PATH_FORMAT = 0x1600,
|
||||
VG_PATH_DATATYPE = 0x1601,
|
||||
VG_PATH_SCALE = 0x1602,
|
||||
VG_PATH_BIAS = 0x1603,
|
||||
VG_PATH_NUM_SEGMENTS = 0x1604,
|
||||
VG_PATH_NUM_COORDS = 0x1605,
|
||||
|
||||
VG_PATH_PARAM_TYPE_FORCE_SIZE = VG_MAX_ENUM
|
||||
} VGPathParamType;
|
||||
|
||||
typedef enum {
|
||||
VG_CAP_BUTT = 0x1700,
|
||||
VG_CAP_ROUND = 0x1701,
|
||||
VG_CAP_SQUARE = 0x1702,
|
||||
|
||||
VG_CAP_STYLE_FORCE_SIZE = VG_MAX_ENUM
|
||||
} VGCapStyle;
|
||||
|
||||
typedef enum {
|
||||
VG_JOIN_MITER = 0x1800,
|
||||
VG_JOIN_ROUND = 0x1801,
|
||||
VG_JOIN_BEVEL = 0x1802,
|
||||
|
||||
VG_JOIN_STYLE_FORCE_SIZE = VG_MAX_ENUM
|
||||
} VGJoinStyle;
|
||||
|
||||
typedef enum {
|
||||
VG_EVEN_ODD = 0x1900,
|
||||
VG_NON_ZERO = 0x1901,
|
||||
|
||||
VG_FILL_RULE_FORCE_SIZE = VG_MAX_ENUM
|
||||
} VGFillRule;
|
||||
|
||||
typedef enum {
|
||||
VG_STROKE_PATH = (1 << 0),
|
||||
VG_FILL_PATH = (1 << 1),
|
||||
|
||||
VG_PAINT_MODE_FORCE_SIZE = VG_MAX_ENUM
|
||||
} VGPaintMode;
|
||||
|
||||
typedef enum {
|
||||
/* Color paint parameters */
|
||||
VG_PAINT_TYPE = 0x1A00,
|
||||
VG_PAINT_COLOR = 0x1A01,
|
||||
VG_PAINT_COLOR_RAMP_SPREAD_MODE = 0x1A02,
|
||||
VG_PAINT_COLOR_RAMP_PREMULTIPLIED = 0x1A07,
|
||||
VG_PAINT_COLOR_RAMP_STOPS = 0x1A03,
|
||||
|
||||
/* Linear gradient paint parameters */
|
||||
VG_PAINT_LINEAR_GRADIENT = 0x1A04,
|
||||
|
||||
/* Radial gradient paint parameters */
|
||||
VG_PAINT_RADIAL_GRADIENT = 0x1A05,
|
||||
|
||||
/* Pattern paint parameters */
|
||||
VG_PAINT_PATTERN_TILING_MODE = 0x1A06,
|
||||
|
||||
VG_PAINT_PARAM_TYPE_FORCE_SIZE = VG_MAX_ENUM
|
||||
} VGPaintParamType;
|
||||
|
||||
typedef enum {
|
||||
VG_PAINT_TYPE_COLOR = 0x1B00,
|
||||
VG_PAINT_TYPE_LINEAR_GRADIENT = 0x1B01,
|
||||
VG_PAINT_TYPE_RADIAL_GRADIENT = 0x1B02,
|
||||
VG_PAINT_TYPE_PATTERN = 0x1B03,
|
||||
|
||||
VG_PAINT_TYPE_FORCE_SIZE = VG_MAX_ENUM
|
||||
} VGPaintType;
|
||||
|
||||
typedef enum {
|
||||
VG_COLOR_RAMP_SPREAD_PAD = 0x1C00,
|
||||
VG_COLOR_RAMP_SPREAD_REPEAT = 0x1C01,
|
||||
VG_COLOR_RAMP_SPREAD_REFLECT = 0x1C02,
|
||||
|
||||
VG_COLOR_RAMP_SPREAD_MODE_FORCE_SIZE = VG_MAX_ENUM
|
||||
} VGColorRampSpreadMode;
|
||||
|
||||
typedef enum {
|
||||
VG_TILE_FILL = 0x1D00,
|
||||
VG_TILE_PAD = 0x1D01,
|
||||
VG_TILE_REPEAT = 0x1D02,
|
||||
VG_TILE_REFLECT = 0x1D03,
|
||||
|
||||
VG_TILING_MODE_FORCE_SIZE = VG_MAX_ENUM
|
||||
} VGTilingMode;
|
||||
|
||||
typedef enum {
|
||||
/* RGB{A,X} channel ordering */
|
||||
VG_sRGBX_8888 = 0,
|
||||
VG_sRGBA_8888 = 1,
|
||||
VG_sRGBA_8888_PRE = 2,
|
||||
VG_sRGB_565 = 3,
|
||||
VG_sRGBA_5551 = 4,
|
||||
VG_sRGBA_4444 = 5,
|
||||
VG_sL_8 = 6,
|
||||
VG_lRGBX_8888 = 7,
|
||||
VG_lRGBA_8888 = 8,
|
||||
VG_lRGBA_8888_PRE = 9,
|
||||
VG_lL_8 = 10,
|
||||
VG_A_8 = 11,
|
||||
VG_BW_1 = 12,
|
||||
VG_A_1 = 13,
|
||||
VG_A_4 = 14,
|
||||
|
||||
/* {A,X}RGB channel ordering */
|
||||
VG_sXRGB_8888 = 0 | (1 << 6),
|
||||
VG_sARGB_8888 = 1 | (1 << 6),
|
||||
VG_sARGB_8888_PRE = 2 | (1 << 6),
|
||||
VG_sARGB_1555 = 4 | (1 << 6),
|
||||
VG_sARGB_4444 = 5 | (1 << 6),
|
||||
VG_lXRGB_8888 = 7 | (1 << 6),
|
||||
VG_lARGB_8888 = 8 | (1 << 6),
|
||||
VG_lARGB_8888_PRE = 9 | (1 << 6),
|
||||
|
||||
/* BGR{A,X} channel ordering */
|
||||
VG_sBGRX_8888 = 0 | (1 << 7),
|
||||
VG_sBGRA_8888 = 1 | (1 << 7),
|
||||
VG_sBGRA_8888_PRE = 2 | (1 << 7),
|
||||
VG_sBGR_565 = 3 | (1 << 7),
|
||||
VG_sBGRA_5551 = 4 | (1 << 7),
|
||||
VG_sBGRA_4444 = 5 | (1 << 7),
|
||||
VG_lBGRX_8888 = 7 | (1 << 7),
|
||||
VG_lBGRA_8888 = 8 | (1 << 7),
|
||||
VG_lBGRA_8888_PRE = 9 | (1 << 7),
|
||||
|
||||
/* {A,X}BGR channel ordering */
|
||||
VG_sXBGR_8888 = 0 | (1 << 6) | (1 << 7),
|
||||
VG_sABGR_8888 = 1 | (1 << 6) | (1 << 7),
|
||||
VG_sABGR_8888_PRE = 2 | (1 << 6) | (1 << 7),
|
||||
VG_sABGR_1555 = 4 | (1 << 6) | (1 << 7),
|
||||
VG_sABGR_4444 = 5 | (1 << 6) | (1 << 7),
|
||||
VG_lXBGR_8888 = 7 | (1 << 6) | (1 << 7),
|
||||
VG_lABGR_8888 = 8 | (1 << 6) | (1 << 7),
|
||||
VG_lABGR_8888_PRE = 9 | (1 << 6) | (1 << 7),
|
||||
|
||||
VG_IMAGE_FORMAT_FORCE_SIZE = VG_MAX_ENUM
|
||||
} VGImageFormat;
|
||||
|
||||
typedef enum {
|
||||
VG_IMAGE_QUALITY_NONANTIALIASED = (1 << 0),
|
||||
VG_IMAGE_QUALITY_FASTER = (1 << 1),
|
||||
VG_IMAGE_QUALITY_BETTER = (1 << 2),
|
||||
|
||||
VG_IMAGE_QUALITY_FORCE_SIZE = VG_MAX_ENUM
|
||||
} VGImageQuality;
|
||||
|
||||
typedef enum {
|
||||
VG_IMAGE_FORMAT = 0x1E00,
|
||||
VG_IMAGE_WIDTH = 0x1E01,
|
||||
VG_IMAGE_HEIGHT = 0x1E02,
|
||||
|
||||
VG_IMAGE_PARAM_TYPE_FORCE_SIZE = VG_MAX_ENUM
|
||||
} VGImageParamType;
|
||||
|
||||
typedef enum {
|
||||
VG_DRAW_IMAGE_NORMAL = 0x1F00,
|
||||
VG_DRAW_IMAGE_MULTIPLY = 0x1F01,
|
||||
VG_DRAW_IMAGE_STENCIL = 0x1F02,
|
||||
|
||||
VG_IMAGE_MODE_FORCE_SIZE = VG_MAX_ENUM
|
||||
} VGImageMode;
|
||||
|
||||
typedef enum {
|
||||
VG_RED = (1 << 3),
|
||||
VG_GREEN = (1 << 2),
|
||||
VG_BLUE = (1 << 1),
|
||||
VG_ALPHA = (1 << 0),
|
||||
|
||||
VG_IMAGE_CHANNEL_FORCE_SIZE = VG_MAX_ENUM
|
||||
} VGImageChannel;
|
||||
|
||||
typedef enum {
|
||||
VG_BLEND_SRC = 0x2000,
|
||||
VG_BLEND_SRC_OVER = 0x2001,
|
||||
VG_BLEND_DST_OVER = 0x2002,
|
||||
VG_BLEND_SRC_IN = 0x2003,
|
||||
VG_BLEND_DST_IN = 0x2004,
|
||||
VG_BLEND_MULTIPLY = 0x2005,
|
||||
VG_BLEND_SCREEN = 0x2006,
|
||||
VG_BLEND_DARKEN = 0x2007,
|
||||
VG_BLEND_LIGHTEN = 0x2008,
|
||||
VG_BLEND_ADDITIVE = 0x2009,
|
||||
|
||||
VG_BLEND_MODE_FORCE_SIZE = VG_MAX_ENUM
|
||||
} VGBlendMode;
|
||||
|
||||
typedef enum {
|
||||
VG_FONT_NUM_GLYPHS = 0x2F00,
|
||||
|
||||
VG_FONT_PARAM_TYPE_FORCE_SIZE = VG_MAX_ENUM
|
||||
} VGFontParamType;
|
||||
|
||||
typedef enum {
|
||||
VG_IMAGE_FORMAT_QUERY = 0x2100,
|
||||
VG_PATH_DATATYPE_QUERY = 0x2101,
|
||||
|
||||
VG_HARDWARE_QUERY_TYPE_FORCE_SIZE = VG_MAX_ENUM
|
||||
} VGHardwareQueryType;
|
||||
|
||||
typedef enum {
|
||||
VG_HARDWARE_ACCELERATED = 0x2200,
|
||||
VG_HARDWARE_UNACCELERATED = 0x2201,
|
||||
|
||||
VG_HARDWARE_QUERY_RESULT_FORCE_SIZE = VG_MAX_ENUM
|
||||
} VGHardwareQueryResult;
|
||||
|
||||
typedef enum {
|
||||
VG_VENDOR = 0x2300,
|
||||
VG_RENDERER = 0x2301,
|
||||
VG_VERSION = 0x2302,
|
||||
VG_EXTENSIONS = 0x2303,
|
||||
|
||||
VG_STRING_ID_FORCE_SIZE = VG_MAX_ENUM
|
||||
} VGStringID;
|
||||
|
||||
/* Function Prototypes */
|
||||
|
||||
#ifndef VG_API_CALL
|
||||
# error VG_API_CALL must be defined
|
||||
#endif
|
||||
|
||||
#ifndef VG_API_ENTRY
|
||||
# error VG_API_ENTRY must be defined
|
||||
#endif
|
||||
|
||||
#ifndef VG_API_EXIT
|
||||
# error VG_API_EXIT must be defined
|
||||
#endif
|
||||
|
||||
VG_API_CALL VGErrorCode VG_API_ENTRY vgGetError(void) VG_API_EXIT;
|
||||
|
||||
VG_API_CALL void VG_API_ENTRY vgFlush(void) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgFinish(void) VG_API_EXIT;
|
||||
|
||||
/* Getters and Setters */
|
||||
VG_API_CALL void VG_API_ENTRY vgSetf (VGParamType type, VGfloat value) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgSeti (VGParamType type, VGint value) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgSetfv(VGParamType type, VGint count,
|
||||
const VGfloat * values) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgSetiv(VGParamType type, VGint count,
|
||||
const VGint * values) VG_API_EXIT;
|
||||
|
||||
VG_API_CALL VGfloat VG_API_ENTRY vgGetf(VGParamType type) VG_API_EXIT;
|
||||
VG_API_CALL VGint VG_API_ENTRY vgGeti(VGParamType type) VG_API_EXIT;
|
||||
VG_API_CALL VGint VG_API_ENTRY vgGetVectorSize(VGParamType type) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgGetfv(VGParamType type, VGint count, VGfloat * values) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgGetiv(VGParamType type, VGint count, VGint * values) VG_API_EXIT;
|
||||
|
||||
VG_API_CALL void VG_API_ENTRY vgSetParameterf(VGHandle object,
|
||||
VGint paramType,
|
||||
VGfloat value) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgSetParameteri(VGHandle object,
|
||||
VGint paramType,
|
||||
VGint value) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgSetParameterfv(VGHandle object,
|
||||
VGint paramType,
|
||||
VGint count, const VGfloat * values) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgSetParameteriv(VGHandle object,
|
||||
VGint paramType,
|
||||
VGint count, const VGint * values) VG_API_EXIT;
|
||||
|
||||
VG_API_CALL VGfloat VG_API_ENTRY vgGetParameterf(VGHandle object,
|
||||
VGint paramType) VG_API_EXIT;
|
||||
VG_API_CALL VGint VG_API_ENTRY vgGetParameteri(VGHandle object,
|
||||
VGint paramType);
|
||||
VG_API_CALL VGint VG_API_ENTRY vgGetParameterVectorSize(VGHandle object,
|
||||
VGint paramType) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgGetParameterfv(VGHandle object,
|
||||
VGint paramType,
|
||||
VGint count, VGfloat * values) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgGetParameteriv(VGHandle object,
|
||||
VGint paramType,
|
||||
VGint count, VGint * values) VG_API_EXIT;
|
||||
|
||||
/* Matrix Manipulation */
|
||||
VG_API_CALL void VG_API_ENTRY vgLoadIdentity(void) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgLoadMatrix(const VGfloat * m) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgGetMatrix(VGfloat * m) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgMultMatrix(const VGfloat * m) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgTranslate(VGfloat tx, VGfloat ty) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgScale(VGfloat sx, VGfloat sy) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgShear(VGfloat shx, VGfloat shy) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgRotate(VGfloat angle) VG_API_EXIT;
|
||||
|
||||
/* Masking and Clearing */
|
||||
VG_API_CALL void VG_API_ENTRY vgMask(VGHandle mask, VGMaskOperation operation,
|
||||
VGint x, VGint y,
|
||||
VGint width, VGint height) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgRenderToMask(VGPath path,
|
||||
VGbitfield paintModes,
|
||||
VGMaskOperation operation) VG_API_EXIT;
|
||||
VG_API_CALL VGMaskLayer VG_API_ENTRY vgCreateMaskLayer(VGint width, VGint height) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgDestroyMaskLayer(VGMaskLayer maskLayer) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgFillMaskLayer(VGMaskLayer maskLayer,
|
||||
VGint x, VGint y,
|
||||
VGint width, VGint height,
|
||||
VGfloat value) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgCopyMask(VGMaskLayer maskLayer,
|
||||
VGint dx, VGint dy,
|
||||
VGint sx, VGint sy,
|
||||
VGint width, VGint height) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgClear(VGint x, VGint y, VGint width, VGint height) VG_API_EXIT;
|
||||
|
||||
/* Paths */
|
||||
VG_API_CALL VGPath VG_API_ENTRY vgCreatePath(VGint pathFormat,
|
||||
VGPathDatatype datatype,
|
||||
VGfloat scale, VGfloat bias,
|
||||
VGint segmentCapacityHint,
|
||||
VGint coordCapacityHint,
|
||||
VGbitfield capabilities) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgClearPath(VGPath path, VGbitfield capabilities) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgDestroyPath(VGPath path) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgRemovePathCapabilities(VGPath path,
|
||||
VGbitfield capabilities) VG_API_EXIT;
|
||||
VG_API_CALL VGbitfield VG_API_ENTRY vgGetPathCapabilities(VGPath path) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgAppendPath(VGPath dstPath, VGPath srcPath) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgAppendPathData(VGPath dstPath,
|
||||
VGint numSegments,
|
||||
const VGubyte * pathSegments,
|
||||
const void * pathData) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgModifyPathCoords(VGPath dstPath, VGint startIndex,
|
||||
VGint numSegments,
|
||||
const void * pathData) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgTransformPath(VGPath dstPath, VGPath srcPath) VG_API_EXIT;
|
||||
VG_API_CALL VGboolean VG_API_ENTRY vgInterpolatePath(VGPath dstPath,
|
||||
VGPath startPath,
|
||||
VGPath endPath,
|
||||
VGfloat amount) VG_API_EXIT;
|
||||
VG_API_CALL VGfloat VG_API_ENTRY vgPathLength(VGPath path,
|
||||
VGint startSegment, VGint numSegments) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgPointAlongPath(VGPath path,
|
||||
VGint startSegment, VGint numSegments,
|
||||
VGfloat distance,
|
||||
VGfloat * x, VGfloat * y,
|
||||
VGfloat * tangentX, VGfloat * tangentY) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgPathBounds(VGPath path,
|
||||
VGfloat * minX, VGfloat * minY,
|
||||
VGfloat * width, VGfloat * height) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgPathTransformedBounds(VGPath path,
|
||||
VGfloat * minX, VGfloat * minY,
|
||||
VGfloat * width, VGfloat * height) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgDrawPath(VGPath path, VGbitfield paintModes) VG_API_EXIT;
|
||||
|
||||
/* Paint */
|
||||
VG_API_CALL VGPaint VG_API_ENTRY vgCreatePaint(void) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgDestroyPaint(VGPaint paint) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgSetPaint(VGPaint paint, VGbitfield paintModes) VG_API_EXIT;
|
||||
VG_API_CALL VGPaint VG_API_ENTRY vgGetPaint(VGPaintMode paintMode) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgSetColor(VGPaint paint, VGuint rgba) VG_API_EXIT;
|
||||
VG_API_CALL VGuint VG_API_ENTRY vgGetColor(VGPaint paint) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgPaintPattern(VGPaint paint, VGImage pattern) VG_API_EXIT;
|
||||
|
||||
/* Images */
|
||||
VG_API_CALL VGImage VG_API_ENTRY vgCreateImage(VGImageFormat format,
|
||||
VGint width, VGint height,
|
||||
VGbitfield allowedQuality) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgDestroyImage(VGImage image) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgClearImage(VGImage image,
|
||||
VGint x, VGint y, VGint width, VGint height) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgImageSubData(VGImage image,
|
||||
const void * data, VGint dataStride,
|
||||
VGImageFormat dataFormat,
|
||||
VGint x, VGint y, VGint width, VGint height) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgGetImageSubData(VGImage image,
|
||||
void * data, VGint dataStride,
|
||||
VGImageFormat dataFormat,
|
||||
VGint x, VGint y,
|
||||
VGint width, VGint height) VG_API_EXIT;
|
||||
VG_API_CALL VGImage VG_API_ENTRY vgChildImage(VGImage parent,
|
||||
VGint x, VGint y, VGint width, VGint height) VG_API_EXIT;
|
||||
VG_API_CALL VGImage VG_API_ENTRY vgGetParent(VGImage image) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgCopyImage(VGImage dst, VGint dx, VGint dy,
|
||||
VGImage src, VGint sx, VGint sy,
|
||||
VGint width, VGint height,
|
||||
VGboolean dither) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgDrawImage(VGImage image) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgSetPixels(VGint dx, VGint dy,
|
||||
VGImage src, VGint sx, VGint sy,
|
||||
VGint width, VGint height) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgWritePixels(const void * data, VGint dataStride,
|
||||
VGImageFormat dataFormat,
|
||||
VGint dx, VGint dy,
|
||||
VGint width, VGint height) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgGetPixels(VGImage dst, VGint dx, VGint dy,
|
||||
VGint sx, VGint sy,
|
||||
VGint width, VGint height) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgReadPixels(void * data, VGint dataStride,
|
||||
VGImageFormat dataFormat,
|
||||
VGint sx, VGint sy,
|
||||
VGint width, VGint height) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgCopyPixels(VGint dx, VGint dy,
|
||||
VGint sx, VGint sy,
|
||||
VGint width, VGint height) VG_API_EXIT;
|
||||
|
||||
/* Text */
|
||||
VG_API_CALL VGFont VG_API_ENTRY vgCreateFont(VGint glyphCapacityHint) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgDestroyFont(VGFont font) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgSetGlyphToPath(VGFont font,
|
||||
VGuint glyphIndex,
|
||||
VGPath path,
|
||||
VGboolean isHinted,
|
||||
const VGfloat glyphOrigin [2],
|
||||
const VGfloat escapement[2]) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgSetGlyphToImage(VGFont font,
|
||||
VGuint glyphIndex,
|
||||
VGImage image,
|
||||
const VGfloat glyphOrigin [2],
|
||||
const VGfloat escapement[2]) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgClearGlyph(VGFont font,VGuint glyphIndex) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgDrawGlyph(VGFont font,
|
||||
VGuint glyphIndex,
|
||||
VGbitfield paintModes,
|
||||
VGboolean allowAutoHinting) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgDrawGlyphs(VGFont font,
|
||||
VGint glyphCount,
|
||||
const VGuint *glyphIndices,
|
||||
const VGfloat *adjustments_x,
|
||||
const VGfloat *adjustments_y,
|
||||
VGbitfield paintModes,
|
||||
VGboolean allowAutoHinting) VG_API_EXIT;
|
||||
|
||||
/* Image Filters */
|
||||
VG_API_CALL void VG_API_ENTRY vgColorMatrix(VGImage dst, VGImage src,
|
||||
const VGfloat * matrix) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgConvolve(VGImage dst, VGImage src,
|
||||
VGint kernelWidth, VGint kernelHeight,
|
||||
VGint shiftX, VGint shiftY,
|
||||
const VGshort * kernel,
|
||||
VGfloat scale,
|
||||
VGfloat bias,
|
||||
VGTilingMode tilingMode) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgSeparableConvolve(VGImage dst, VGImage src,
|
||||
VGint kernelWidth,
|
||||
VGint kernelHeight,
|
||||
VGint shiftX, VGint shiftY,
|
||||
const VGshort * kernelX,
|
||||
const VGshort * kernelY,
|
||||
VGfloat scale,
|
||||
VGfloat bias,
|
||||
VGTilingMode tilingMode) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgGaussianBlur(VGImage dst, VGImage src,
|
||||
VGfloat stdDeviationX,
|
||||
VGfloat stdDeviationY,
|
||||
VGTilingMode tilingMode) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgLookup(VGImage dst, VGImage src,
|
||||
const VGubyte * redLUT,
|
||||
const VGubyte * greenLUT,
|
||||
const VGubyte * blueLUT,
|
||||
const VGubyte * alphaLUT,
|
||||
VGboolean outputLinear,
|
||||
VGboolean outputPremultiplied) VG_API_EXIT;
|
||||
VG_API_CALL void VG_API_ENTRY vgLookupSingle(VGImage dst, VGImage src,
|
||||
const VGuint * lookupTable,
|
||||
VGImageChannel sourceChannel,
|
||||
VGboolean outputLinear,
|
||||
VGboolean outputPremultiplied) VG_API_EXIT;
|
||||
|
||||
/* Hardware Queries */
|
||||
VG_API_CALL VGHardwareQueryResult VG_API_ENTRY vgHardwareQuery(VGHardwareQueryType key,
|
||||
VGint setting) VG_API_EXIT;
|
||||
|
||||
/* Renderer and Extension Information */
|
||||
VG_API_CALL const VGubyte * VG_API_ENTRY vgGetString(VGStringID name) VG_API_EXIT;
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
||||
#endif /* _OPENVG_H */
|
233
include/VG/vgext.h
Normal file
233
include/VG/vgext.h
Normal file
@@ -0,0 +1,233 @@
|
||||
/* $Revision: 6810 $ on $Date:: 2008-10-29 07:31:37 -0700 #$ */
|
||||
|
||||
/*------------------------------------------------------------------------
|
||||
*
|
||||
* VG extensions Reference Implementation
|
||||
* -------------------------------------
|
||||
*
|
||||
* Copyright (c) 2008 The Khronos Group Inc.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and /or associated documentation files
|
||||
* (the "Materials "), to deal in the Materials without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, sublicense, and/or sell copies of the Materials,
|
||||
* and to permit persons to whom the Materials are furnished to do so,
|
||||
* subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included
|
||||
* in all copies or substantial portions of the Materials.
|
||||
*
|
||||
* THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
||||
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||||
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE MATERIALS OR
|
||||
* THE USE OR OTHER DEALINGS IN THE MATERIALS.
|
||||
*
|
||||
*//**
|
||||
* \file
|
||||
* \brief VG extensions
|
||||
*//*-------------------------------------------------------------------*/
|
||||
|
||||
|
||||
|
||||
#ifndef _VGEXT_H
|
||||
#define _VGEXT_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <VG/openvg.h>
|
||||
#include <VG/vgu.h>
|
||||
|
||||
#ifndef VG_API_ENTRYP
|
||||
# define VG_API_ENTRYP VG_API_ENTRY*
|
||||
#endif
|
||||
|
||||
#ifndef VGU_API_ENTRYP
|
||||
# define VGU_API_ENTRYP VGU_API_ENTRY*
|
||||
#endif
|
||||
|
||||
/*-------------------------------------------------------------------------------
|
||||
* KHR extensions
|
||||
*------------------------------------------------------------------------------*/
|
||||
|
||||
typedef enum {
|
||||
|
||||
#ifndef VG_KHR_iterative_average_blur
|
||||
VG_MAX_AVERAGE_BLUR_DIMENSION_KHR = 0x116B,
|
||||
VG_AVERAGE_BLUR_DIMENSION_RESOLUTION_KHR = 0x116C,
|
||||
VG_MAX_AVERAGE_BLUR_ITERATIONS_KHR = 0x116D,
|
||||
#endif
|
||||
|
||||
VG_PARAM_TYPE_KHR_FORCE_SIZE = VG_MAX_ENUM
|
||||
} VGParamTypeKHR;
|
||||
|
||||
#ifndef VG_KHR_EGL_image
|
||||
#define VG_KHR_EGL_image 1
|
||||
/* VGEGLImageKHR is an opaque handle to an EGLImage */
|
||||
typedef void* VGeglImageKHR;
|
||||
|
||||
#ifdef VG_VGEXT_PROTOTYPES
|
||||
VG_API_CALL VGImage VG_API_ENTRY vgCreateEGLImageTargetKHR(VGeglImageKHR image);
|
||||
#endif
|
||||
typedef VGImage (VG_API_ENTRYP PFNVGCREATEEGLIMAGETARGETKHRPROC) (VGeglImageKHR image);
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef VG_KHR_iterative_average_blur
|
||||
#define VG_KHR_iterative_average_blur 1
|
||||
|
||||
#ifdef VG_VGEXT_PROTOTYPES
|
||||
VG_API_CALL void vgIterativeAverageBlurKHR(VGImage dst,VGImage src,VGfloat dimX,VGfloat dimY,VGuint iterative,VGTilingMode tilingMode);
|
||||
#endif
|
||||
typedef void (VG_API_ENTRYP PFNVGITERATIVEAVERAGEBLURKHRPROC) (VGImage dst,VGImage src,VGfloat dimX,VGfloat dimY,VGuint iterative,VGTilingMode tilingMode);
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef VG_KHR_advanced_blending
|
||||
#define VG_KHR_advanced_blending 1
|
||||
|
||||
typedef enum {
|
||||
VG_BLEND_OVERLAY_KHR = 0x2010,
|
||||
VG_BLEND_HARDLIGHT_KHR = 0x2011,
|
||||
VG_BLEND_SOFTLIGHT_SVG_KHR = 0x2012,
|
||||
VG_BLEND_SOFTLIGHT_KHR = 0x2013,
|
||||
VG_BLEND_COLORDODGE_KHR = 0x2014,
|
||||
VG_BLEND_COLORBURN_KHR = 0x2015,
|
||||
VG_BLEND_DIFFERENCE_KHR = 0x2016,
|
||||
VG_BLEND_SUBTRACT_KHR = 0x2017,
|
||||
VG_BLEND_INVERT_KHR = 0x2018,
|
||||
VG_BLEND_EXCLUSION_KHR = 0x2019,
|
||||
VG_BLEND_LINEARDODGE_KHR = 0x201a,
|
||||
VG_BLEND_LINEARBURN_KHR = 0x201b,
|
||||
VG_BLEND_VIVIDLIGHT_KHR = 0x201c,
|
||||
VG_BLEND_LINEARLIGHT_KHR = 0x201d,
|
||||
VG_BLEND_PINLIGHT_KHR = 0x201e,
|
||||
VG_BLEND_HARDMIX_KHR = 0x201f,
|
||||
VG_BLEND_CLEAR_KHR = 0x2020,
|
||||
VG_BLEND_DST_KHR = 0x2021,
|
||||
VG_BLEND_SRC_OUT_KHR = 0x2022,
|
||||
VG_BLEND_DST_OUT_KHR = 0x2023,
|
||||
VG_BLEND_SRC_ATOP_KHR = 0x2024,
|
||||
VG_BLEND_DST_ATOP_KHR = 0x2025,
|
||||
VG_BLEND_XOR_KHR = 0x2026,
|
||||
|
||||
VG_BLEND_MODE_KHR_FORCE_SIZE= VG_MAX_ENUM
|
||||
} VGBlendModeKHR;
|
||||
#endif
|
||||
|
||||
#ifndef VG_KHR_parametric_filter
|
||||
#define VG_KHR_parametric_filter 1
|
||||
|
||||
typedef enum {
|
||||
VG_PF_OBJECT_VISIBLE_FLAG_KHR = (1 << 0),
|
||||
VG_PF_KNOCKOUT_FLAG_KHR = (1 << 1),
|
||||
VG_PF_OUTER_FLAG_KHR = (1 << 2),
|
||||
VG_PF_INNER_FLAG_KHR = (1 << 3),
|
||||
|
||||
VG_PF_TYPE_KHR_FORCE_SIZE = VG_MAX_ENUM
|
||||
} VGPfTypeKHR;
|
||||
|
||||
typedef enum {
|
||||
VGU_IMAGE_IN_USE_ERROR = 0xF010,
|
||||
|
||||
VGU_ERROR_CODE_KHR_FORCE_SIZE = VG_MAX_ENUM
|
||||
} VGUErrorCodeKHR;
|
||||
|
||||
#ifdef VG_VGEXT_PROTOTYPES
|
||||
VG_API_CALL void VG_API_ENTRY vgParametricFilterKHR(VGImage dst,VGImage src,VGImage blur,VGfloat strength,VGfloat offsetX,VGfloat offsetY,VGbitfield filterFlags,VGPaint highlightPaint,VGPaint shadowPaint);
|
||||
VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguDropShadowKHR(VGImage dst,VGImage src,VGfloat dimX,VGfloat dimY,VGuint iterative,VGfloat strength,VGfloat distance,VGfloat angle,VGbitfield filterFlags,VGbitfield allowedQuality,VGuint shadowColorRGBA);
|
||||
VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguGlowKHR(VGImage dst,VGImage src,VGfloat dimX,VGfloat dimY,VGuint iterative,VGfloat strength,VGbitfield filterFlags,VGbitfield allowedQuality,VGuint glowColorRGBA) ;
|
||||
VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguBevelKHR(VGImage dst,VGImage src,VGfloat dimX,VGfloat dimY,VGuint iterative,VGfloat strength,VGfloat distance,VGfloat angle,VGbitfield filterFlags,VGbitfield allowedQuality,VGuint highlightColorRGBA,VGuint shadowColorRGBA);
|
||||
VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguGradientGlowKHR(VGImage dst,VGImage src,VGfloat dimX,VGfloat dimY,VGuint iterative,VGfloat strength,VGfloat distance,VGfloat angle,VGbitfield filterFlags,VGbitfield allowedQuality,VGuint stopsCount,const VGfloat* glowColorRampStops);
|
||||
VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguGradientBevelKHR(VGImage dst,VGImage src,VGfloat dimX,VGfloat dimY,VGuint iterative,VGfloat strength,VGfloat distance,VGfloat angle,VGbitfield filterFlags,VGbitfield allowedQuality,VGuint stopsCount,const VGfloat* bevelColorRampStops);
|
||||
#endif
|
||||
typedef void (VG_API_ENTRYP PFNVGPARAMETRICFILTERKHRPROC) (VGImage dst,VGImage src,VGImage blur,VGfloat strength,VGfloat offsetX,VGfloat offsetY,VGbitfield filterFlags,VGPaint highlightPaint,VGPaint shadowPaint);
|
||||
typedef VGUErrorCode (VGU_API_ENTRYP PFNVGUDROPSHADOWKHRPROC) (VGImage dst,VGImage src,VGfloat dimX,VGfloat dimY,VGuint iterative,VGfloat strength,VGfloat distance,VGfloat angle,VGbitfield filterFlags,VGbitfield allowedQuality,VGuint shadowColorRGBA);
|
||||
typedef VGUErrorCode (VGU_API_ENTRYP PFNVGUGLOWKHRPROC) (VGImage dst,VGImage src,VGfloat dimX,VGfloat dimY,VGuint iterative,VGfloat strength,VGbitfield filterFlags,VGbitfield allowedQuality,VGuint glowColorRGBA);
|
||||
typedef VGUErrorCode (VGU_API_ENTRYP PFNVGUBEVELKHRPROC) (VGImage dst,VGImage src,VGfloat dimX,VGfloat dimY,VGuint iterative,VGfloat strength,VGfloat distance,VGfloat angle,VGbitfield filterFlags,VGbitfield allowedQuality,VGuint highlightColorRGBA,VGuint shadowColorRGBA);
|
||||
typedef VGUErrorCode (VGU_API_ENTRYP PFNVGUGRADIENTGLOWKHRPROC) (VGImage dst,VGImage src,VGfloat dimX,VGfloat dimY,VGuint iterative,VGfloat strength,VGfloat distance,VGfloat angle,VGbitfield filterFlags,VGbitfield allowedQuality,VGuint stopsCount,const VGfloat* glowColorRampStops);
|
||||
typedef VGUErrorCode (VGU_API_ENTRYP PFNVGUGRADIENTBEVELKHRPROC) (VGImage dst,VGImage src,VGfloat dimX,VGfloat dimY,VGuint iterative,VGfloat strength,VGfloat distance,VGfloat angle,VGbitfield filterFlags,VGbitfield allowedQuality,VGuint stopsCount,const VGfloat* bevelColorRampStops);
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------------
|
||||
* NDS extensions
|
||||
*------------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef VG_NDS_paint_generation
|
||||
#define VG_NDS_paint_generation 1
|
||||
|
||||
typedef enum {
|
||||
VG_PAINT_COLOR_RAMP_LINEAR_NDS = 0x1A10,
|
||||
VG_COLOR_MATRIX_NDS = 0x1A11,
|
||||
VG_PAINT_COLOR_TRANSFORM_LINEAR_NDS = 0x1A12,
|
||||
|
||||
VG_PAINT_PARAM_TYPE_NDS_FORCE_SIZE = VG_MAX_ENUM
|
||||
} VGPaintParamTypeNds;
|
||||
|
||||
typedef enum {
|
||||
VG_DRAW_IMAGE_COLOR_MATRIX_NDS = 0x1F10,
|
||||
|
||||
VG_IMAGE_MODE_NDS_FORCE_SIZE = VG_MAX_ENUM
|
||||
} VGImageModeNds;
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef VG_NDS_projective_geometry
|
||||
#define VG_NDS_projective_geometry 1
|
||||
|
||||
typedef enum {
|
||||
VG_CLIP_MODE_NDS = 0x1180,
|
||||
VG_CLIP_LINES_NDS = 0x1181,
|
||||
VG_MAX_CLIP_LINES_NDS = 0x1182,
|
||||
|
||||
VG_PARAM_TYPE_NDS_FORCE_SIZE = VG_MAX_ENUM
|
||||
} VGParamTypeNds;
|
||||
|
||||
typedef enum {
|
||||
VG_CLIPMODE_NONE_NDS = 0x3000,
|
||||
VG_CLIPMODE_CLIP_CLOSED_NDS = 0x3001,
|
||||
VG_CLIPMODE_CLIP_OPEN_NDS = 0x3002,
|
||||
VG_CLIPMODE_CULL_NDS = 0x3003,
|
||||
|
||||
VG_CLIPMODE_NDS_FORCE_SIZE = VG_MAX_ENUM
|
||||
} VGClipModeNds;
|
||||
|
||||
typedef enum {
|
||||
VG_RQUAD_TO_NDS = ( 13 << 1 ),
|
||||
VG_RCUBIC_TO_NDS = ( 14 << 1 ),
|
||||
|
||||
VG_PATH_SEGMENT_NDS_FORCE_SIZE = VG_MAX_ENUM
|
||||
} VGPathSegmentNds;
|
||||
|
||||
typedef enum {
|
||||
VG_RQUAD_TO_ABS_NDS = (VG_RQUAD_TO_NDS | VG_ABSOLUTE),
|
||||
VG_RQUAD_TO_REL_NDS = (VG_RQUAD_TO_NDS | VG_RELATIVE),
|
||||
VG_RCUBIC_TO_ABS_NDS = (VG_RCUBIC_TO_NDS | VG_ABSOLUTE),
|
||||
VG_RCUBIC_TO_REL_NDS = (VG_RCUBIC_TO_NDS | VG_RELATIVE),
|
||||
|
||||
VG_PATH_COMMAND_NDS_FORCE_SIZE = VG_MAX_ENUM
|
||||
} VGPathCommandNds;
|
||||
|
||||
#ifdef VG_VGEXT_PROTOTYPES
|
||||
VG_API_CALL void VG_API_ENTRY vgProjectiveMatrixNDS(VGboolean enable) ;
|
||||
VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguTransformClipLineNDS(const VGfloat Ain,const VGfloat Bin,const VGfloat Cin,const VGfloat* matrix,const VGboolean inverse,VGfloat* Aout,VGfloat* Bout,VGfloat* Cout);
|
||||
#endif
|
||||
typedef void (VG_API_ENTRYP PFNVGPROJECTIVEMATRIXNDSPROC) (VGboolean enable) ;
|
||||
typedef VGUErrorCode (VGU_API_ENTRYP PFNVGUTRANSFORMCLIPLINENDSPROC) (const VGfloat Ain,const VGfloat Bin,const VGfloat Cin,const VGfloat* matrix,const VGboolean inverse,VGfloat* Aout,VGfloat* Bout,VGfloat* Cout);
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
||||
#endif /* _VGEXT_H */
|
92
include/VG/vgplatform.h
Normal file
92
include/VG/vgplatform.h
Normal file
@@ -0,0 +1,92 @@
|
||||
/* $Revision: 6810 $ on $Date:: 2008-10-29 07:31:37 -0700 #$ */
|
||||
|
||||
/*------------------------------------------------------------------------
|
||||
*
|
||||
* VG platform specific header Reference Implementation
|
||||
* ----------------------------------------------------
|
||||
*
|
||||
* Copyright (c) 2008 The Khronos Group Inc.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and /or associated documentation files
|
||||
* (the "Materials "), to deal in the Materials without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, sublicense, and/or sell copies of the Materials,
|
||||
* and to permit persons to whom the Materials are furnished to do so,
|
||||
* subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included
|
||||
* in all copies or substantial portions of the Materials.
|
||||
*
|
||||
* THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
||||
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||||
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE MATERIALS OR
|
||||
* THE USE OR OTHER DEALINGS IN THE MATERIALS.
|
||||
*
|
||||
*//**
|
||||
* \file
|
||||
* \brief VG platform specific header
|
||||
*//*-------------------------------------------------------------------*/
|
||||
|
||||
#ifndef _VGPLATFORM_H
|
||||
#define _VGPLATFORM_H
|
||||
|
||||
#include <KHR/khrplatform.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#ifndef VG_API_CALL
|
||||
#if defined(OPENVG_STATIC_LIBRARY)
|
||||
# define VG_API_CALL
|
||||
#else
|
||||
# define VG_API_CALL KHRONOS_APICALL
|
||||
#endif /* defined OPENVG_STATIC_LIBRARY */
|
||||
#endif /* ifndef VG_API_CALL */
|
||||
|
||||
#ifndef VGU_API_CALL
|
||||
#if defined(OPENVG_STATIC_LIBRARY)
|
||||
# define VGU_API_CALL
|
||||
#else
|
||||
# define VGU_API_CALL KHRONOS_APICALL
|
||||
#endif /* defined OPENVG_STATIC_LIBRARY */
|
||||
#endif /* ifndef VGU_API_CALL */
|
||||
|
||||
|
||||
#ifndef VG_API_ENTRY
|
||||
#define VG_API_ENTRY
|
||||
#endif
|
||||
|
||||
#ifndef VG_API_EXIT
|
||||
#define VG_API_EXIT
|
||||
#endif
|
||||
|
||||
#ifndef VGU_API_ENTRY
|
||||
#define VGU_API_ENTRY
|
||||
#endif
|
||||
|
||||
#ifndef VGU_API_EXIT
|
||||
#define VGU_API_EXIT
|
||||
#endif
|
||||
|
||||
typedef float VGfloat;
|
||||
typedef signed char VGbyte;
|
||||
typedef unsigned char VGubyte;
|
||||
typedef signed short VGshort;
|
||||
typedef signed int VGint;
|
||||
typedef unsigned int VGuint;
|
||||
typedef unsigned int VGbitfield;
|
||||
|
||||
#ifndef VG_VGEXT_PROTOTYPES
|
||||
#define VG_VGEXT_PROTOTYPES
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
||||
#endif /* _VGPLATFORM_H */
|
131
include/VG/vgu.h
Normal file
131
include/VG/vgu.h
Normal file
@@ -0,0 +1,131 @@
|
||||
/* $Revision: 6810 $ on $Date:: 2008-10-29 07:31:37 -0700 #$ */
|
||||
|
||||
/*------------------------------------------------------------------------
|
||||
*
|
||||
* VGU 1.1 Reference Implementation
|
||||
* -------------------------------------
|
||||
*
|
||||
* Copyright (c) 2008 The Khronos Group Inc.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and /or associated documentation files
|
||||
* (the "Materials "), to deal in the Materials without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, sublicense, and/or sell copies of the Materials,
|
||||
* and to permit persons to whom the Materials are furnished to do so,
|
||||
* subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included
|
||||
* in all copies or substantial portions of the Materials.
|
||||
*
|
||||
* THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
||||
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||||
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE MATERIALS OR
|
||||
* THE USE OR OTHER DEALINGS IN THE MATERIALS.
|
||||
*
|
||||
*//**
|
||||
* \file
|
||||
* \brief VGU 1.1 API.
|
||||
*//*-------------------------------------------------------------------*/
|
||||
|
||||
#ifndef _VGU_H
|
||||
#define _VGU_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <VG/openvg.h>
|
||||
|
||||
#define VGU_VERSION_1_0 1
|
||||
#define VGU_VERSION_1_1 2
|
||||
|
||||
#ifndef VGU_API_CALL
|
||||
# error VGU_API_CALL must be defined
|
||||
#endif
|
||||
|
||||
#ifndef VGU_API_ENTRY
|
||||
# error VGU_API_ENTRY must be defined
|
||||
#endif
|
||||
|
||||
#ifndef VGU_API_EXIT
|
||||
# error VGU_API_EXIT must be defined
|
||||
#endif
|
||||
|
||||
|
||||
typedef enum {
|
||||
VGU_NO_ERROR = 0,
|
||||
VGU_BAD_HANDLE_ERROR = 0xF000,
|
||||
VGU_ILLEGAL_ARGUMENT_ERROR = 0xF001,
|
||||
VGU_OUT_OF_MEMORY_ERROR = 0xF002,
|
||||
VGU_PATH_CAPABILITY_ERROR = 0xF003,
|
||||
VGU_BAD_WARP_ERROR = 0xF004,
|
||||
|
||||
VGU_ERROR_CODE_FORCE_SIZE = VG_MAX_ENUM
|
||||
} VGUErrorCode;
|
||||
|
||||
typedef enum {
|
||||
VGU_ARC_OPEN = 0xF100,
|
||||
VGU_ARC_CHORD = 0xF101,
|
||||
VGU_ARC_PIE = 0xF102,
|
||||
|
||||
VGU_ARC_TYPE_FORCE_SIZE = VG_MAX_ENUM
|
||||
} VGUArcType;
|
||||
|
||||
VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguLine(VGPath path,
|
||||
VGfloat x0, VGfloat y0,
|
||||
VGfloat x1, VGfloat y1) VGU_API_EXIT;
|
||||
|
||||
VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguPolygon(VGPath path,
|
||||
const VGfloat * points, VGint count,
|
||||
VGboolean closed) VGU_API_EXIT;
|
||||
|
||||
VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguRect(VGPath path,
|
||||
VGfloat x, VGfloat y,
|
||||
VGfloat width, VGfloat height) VGU_API_EXIT;
|
||||
|
||||
VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguRoundRect(VGPath path,
|
||||
VGfloat x, VGfloat y,
|
||||
VGfloat width, VGfloat height,
|
||||
VGfloat arcWidth, VGfloat arcHeight) VGU_API_EXIT;
|
||||
|
||||
VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguEllipse(VGPath path,
|
||||
VGfloat cx, VGfloat cy,
|
||||
VGfloat width, VGfloat height) VGU_API_EXIT;
|
||||
|
||||
VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguArc(VGPath path,
|
||||
VGfloat x, VGfloat y,
|
||||
VGfloat width, VGfloat height,
|
||||
VGfloat startAngle, VGfloat angleExtent,
|
||||
VGUArcType arcType) VGU_API_EXIT;
|
||||
|
||||
VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguComputeWarpQuadToSquare(VGfloat sx0, VGfloat sy0,
|
||||
VGfloat sx1, VGfloat sy1,
|
||||
VGfloat sx2, VGfloat sy2,
|
||||
VGfloat sx3, VGfloat sy3,
|
||||
VGfloat * matrix) VGU_API_EXIT;
|
||||
|
||||
VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguComputeWarpSquareToQuad(VGfloat dx0, VGfloat dy0,
|
||||
VGfloat dx1, VGfloat dy1,
|
||||
VGfloat dx2, VGfloat dy2,
|
||||
VGfloat dx3, VGfloat dy3,
|
||||
VGfloat * matrix) VGU_API_EXIT;
|
||||
|
||||
VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguComputeWarpQuadToQuad(VGfloat dx0, VGfloat dy0,
|
||||
VGfloat dx1, VGfloat dy1,
|
||||
VGfloat dx2, VGfloat dy2,
|
||||
VGfloat dx3, VGfloat dy3,
|
||||
VGfloat sx0, VGfloat sy0,
|
||||
VGfloat sx1, VGfloat sy1,
|
||||
VGfloat sx2, VGfloat sy2,
|
||||
VGfloat sx3, VGfloat sy3,
|
||||
VGfloat * matrix) VGU_API_EXIT;
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
||||
#endif /* #ifndef _VGU_H */
|
@@ -177,8 +177,13 @@ mtx_init(mtx_t *mtx, int type)
|
||||
&& type != (mtx_try|mtx_recursive))
|
||||
return thrd_error;
|
||||
pthread_mutexattr_init(&attr);
|
||||
if ((type & mtx_recursive) != 0)
|
||||
if ((type & mtx_recursive) != 0) {
|
||||
#if defined(__linux__) || defined(__linux)
|
||||
pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE_NP);
|
||||
#else
|
||||
pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
|
||||
#endif
|
||||
}
|
||||
pthread_mutex_init(mtx, &attr);
|
||||
pthread_mutexattr_destroy(&attr);
|
||||
return thrd_success;
|
||||
|
@@ -35,7 +35,8 @@
|
||||
#define bool _Bool
|
||||
|
||||
/* For compilers that don't have the builtin _Bool type. */
|
||||
#if (defined(_MSC_VER) && _MSC_VER < 1800)
|
||||
#if (defined(_MSC_VER) && _MSC_VER < 1800) || \
|
||||
(defined __GNUC__&& __STDC_VERSION__ < 199901L && __GNUC__ < 3)
|
||||
typedef unsigned char _Bool;
|
||||
#endif
|
||||
|
||||
|
@@ -25,8 +25,6 @@
|
||||
*
|
||||
**************************************************************************/
|
||||
|
||||
#include "no_extern_c.h"
|
||||
|
||||
#ifndef _C99_COMPAT_H_
|
||||
#define _C99_COMPAT_H_
|
||||
|
||||
@@ -35,11 +33,6 @@
|
||||
* MSVC hacks.
|
||||
*/
|
||||
#if defined(_MSC_VER)
|
||||
|
||||
# if _MSC_VER < 1500
|
||||
# error "Microsoft Visual Studio 2008 or higher required"
|
||||
# endif
|
||||
|
||||
/*
|
||||
* Visual Studio 2012 will complain if we define the `inline` keyword, but
|
||||
* actually it only supports the keyword on C++.
|
||||
@@ -121,9 +114,17 @@
|
||||
# elif defined(__SUNPRO_C) && defined(__C99FEATURES__)
|
||||
/* C99 */
|
||||
# elif defined(__GNUC__)
|
||||
# define __func__ __FUNCTION__
|
||||
# if __GNUC__ >= 2
|
||||
# define __func__ __FUNCTION__
|
||||
# else
|
||||
# define __func__ "<unknown>"
|
||||
# endif
|
||||
# elif defined(_MSC_VER)
|
||||
# define __func__ __FUNCTION__
|
||||
# if _MSC_VER >= 1300
|
||||
# define __func__ __FUNCTION__
|
||||
# else
|
||||
# define __func__ "<unknown>"
|
||||
# endif
|
||||
# else
|
||||
# define __func__ "<unknown>"
|
||||
# endif
|
||||
|
@@ -1,215 +0,0 @@
|
||||
/**************************************************************************
|
||||
*
|
||||
* Copyright 2007-2015 VMware, Inc.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, sub license, and/or sell copies of the Software, and to
|
||||
* permit persons to whom the Software is furnished to do so, subject to
|
||||
* the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice (including the
|
||||
* next paragraph) shall be included in all copies or substantial portions
|
||||
* of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
|
||||
* IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS BE LIABLE FOR
|
||||
* ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
**************************************************************************/
|
||||
|
||||
/**
|
||||
* Wrapper for math.h which makes sure we have definitions of all the c99
|
||||
* functions.
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _C99_MATH_H_
|
||||
#define _C99_MATH_H_
|
||||
|
||||
#include <math.h>
|
||||
#include "c99_compat.h"
|
||||
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
|
||||
/* This is to ensure that we get M_PI, etc. definitions */
|
||||
#if !defined(_USE_MATH_DEFINES)
|
||||
#error _USE_MATH_DEFINES define required when building with MSVC
|
||||
#endif
|
||||
|
||||
#if _MSC_VER < 1800
|
||||
#define isfinite(x) _finite((double)(x))
|
||||
#define isnan(x) _isnan((double)(x))
|
||||
#endif /* _MSC_VER < 1800 */
|
||||
|
||||
#if _MSC_VER < 1800
|
||||
static inline double log2( double x )
|
||||
{
|
||||
const double invln2 = 1.442695041;
|
||||
return log( x ) * invln2;
|
||||
}
|
||||
|
||||
static inline double
|
||||
round(double x)
|
||||
{
|
||||
return x >= 0.0 ? floor(x + 0.5) : ceil(x - 0.5);
|
||||
}
|
||||
|
||||
static inline float
|
||||
roundf(float x)
|
||||
{
|
||||
return x >= 0.0f ? floorf(x + 0.5f) : ceilf(x - 0.5f);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef INFINITY
|
||||
#include <float.h> // DBL_MAX
|
||||
#define INFINITY (DBL_MAX + DBL_MAX)
|
||||
#endif
|
||||
|
||||
#ifndef NAN
|
||||
#define NAN (INFINITY - INFINITY)
|
||||
#endif
|
||||
|
||||
#endif /* _MSC_VER */
|
||||
|
||||
|
||||
#if (defined(_MSC_VER) && _MSC_VER < 1800) || \
|
||||
(!defined(_MSC_VER) && \
|
||||
__STDC_VERSION__ < 199901L && \
|
||||
(!defined(_XOPEN_SOURCE) || _XOPEN_SOURCE < 600) && \
|
||||
!defined(__cplusplus))
|
||||
|
||||
static inline long int
|
||||
lrint(double d)
|
||||
{
|
||||
long int rounded = (long int)(d + 0.5);
|
||||
|
||||
if (d - floor(d) == 0.5) {
|
||||
if (rounded % 2 != 0)
|
||||
rounded += (d > 0) ? -1 : 1;
|
||||
}
|
||||
|
||||
return rounded;
|
||||
}
|
||||
|
||||
static inline long int
|
||||
lrintf(float f)
|
||||
{
|
||||
long int rounded = (long int)(f + 0.5f);
|
||||
|
||||
if (f - floorf(f) == 0.5f) {
|
||||
if (rounded % 2 != 0)
|
||||
rounded += (f > 0) ? -1 : 1;
|
||||
}
|
||||
|
||||
return rounded;
|
||||
}
|
||||
|
||||
static inline long long int
|
||||
llrint(double d)
|
||||
{
|
||||
long long int rounded = (long long int)(d + 0.5);
|
||||
|
||||
if (d - floor(d) == 0.5) {
|
||||
if (rounded % 2 != 0)
|
||||
rounded += (d > 0) ? -1 : 1;
|
||||
}
|
||||
|
||||
return rounded;
|
||||
}
|
||||
|
||||
static inline long long int
|
||||
llrintf(float f)
|
||||
{
|
||||
long long int rounded = (long long int)(f + 0.5f);
|
||||
|
||||
if (f - floorf(f) == 0.5f) {
|
||||
if (rounded % 2 != 0)
|
||||
rounded += (f > 0) ? -1 : 1;
|
||||
}
|
||||
|
||||
return rounded;
|
||||
}
|
||||
|
||||
#endif /* C99 */
|
||||
|
||||
|
||||
/*
|
||||
* signbit() is a macro on Linux. Not available on Windows.
|
||||
*/
|
||||
#ifndef signbit
|
||||
#define signbit(x) ((x) < 0.0f)
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef M_PI
|
||||
#define M_PI (3.14159265358979323846)
|
||||
#endif
|
||||
|
||||
#ifndef M_E
|
||||
#define M_E (2.7182818284590452354)
|
||||
#endif
|
||||
|
||||
#ifndef M_LOG2E
|
||||
#define M_LOG2E (1.4426950408889634074)
|
||||
#endif
|
||||
|
||||
#ifndef FLT_MAX_EXP
|
||||
#define FLT_MAX_EXP 128
|
||||
#endif
|
||||
|
||||
|
||||
#if defined(fpclassify)
|
||||
/* ISO C99 says that fpclassify is a macro. Assume that any implementation
|
||||
* of fpclassify, whether it's in a C99 compiler or not, will be a macro.
|
||||
*/
|
||||
#elif defined(__cplusplus)
|
||||
/* For C++, fpclassify() should be defined in <cmath> */
|
||||
#elif defined(_MSC_VER)
|
||||
/* Not required on VS2013 and above. Oddly, the fpclassify() function
|
||||
* doesn't exist in such a form on MSVC. This is an implementation using
|
||||
* slightly different lower-level Windows functions.
|
||||
*/
|
||||
#include <float.h>
|
||||
|
||||
static inline enum {FP_NAN, FP_INFINITE, FP_ZERO, FP_SUBNORMAL, FP_NORMAL}
|
||||
fpclassify(double x)
|
||||
{
|
||||
switch(_fpclass(x)) {
|
||||
case _FPCLASS_SNAN: /* signaling NaN */
|
||||
case _FPCLASS_QNAN: /* quiet NaN */
|
||||
return FP_NAN;
|
||||
case _FPCLASS_NINF: /* negative infinity */
|
||||
case _FPCLASS_PINF: /* positive infinity */
|
||||
return FP_INFINITE;
|
||||
case _FPCLASS_NN: /* negative normal */
|
||||
case _FPCLASS_PN: /* positive normal */
|
||||
return FP_NORMAL;
|
||||
case _FPCLASS_ND: /* negative denormalized */
|
||||
case _FPCLASS_PD: /* positive denormalized */
|
||||
return FP_SUBNORMAL;
|
||||
case _FPCLASS_NZ: /* negative zero */
|
||||
case _FPCLASS_PZ: /* positive zero */
|
||||
return FP_ZERO;
|
||||
default:
|
||||
/* Should never get here; but if we do, this will guarantee
|
||||
* that the pattern is not treated like a number.
|
||||
*/
|
||||
return FP_NAN;
|
||||
}
|
||||
}
|
||||
#else
|
||||
#error "Need to include or define an fpclassify function"
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* #define _C99_MATH_H_ */
|
@@ -1,48 +0,0 @@
|
||||
/**************************************************************************
|
||||
*
|
||||
* Copyright 2014 VMware, Inc.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the "Software"),
|
||||
* to deal in the Software without restriction, including without limitation
|
||||
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
* and/or sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included
|
||||
* in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
||||
* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
||||
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
* OTHER DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
**************************************************************************/
|
||||
|
||||
|
||||
/*
|
||||
* Including system's headers inside `extern "C" { ... }` is not safe, as system
|
||||
* headers may have C++ code in them, and C++ code inside extern "C"
|
||||
* leads to syntatically incorrect code.
|
||||
*
|
||||
* This is because putting code inside extern "C" won't make __cplusplus define
|
||||
* go away, that is, the system header being included thinks is free to use C++
|
||||
* as it sees fits.
|
||||
*
|
||||
* Including non-system headers inside extern "C" is not safe either, because
|
||||
* non-system headers end up including system headers, hence fall in the above
|
||||
* case too.
|
||||
*
|
||||
* Conclusion, includes inside extern "C" is simply not portable.
|
||||
*
|
||||
*
|
||||
* This header helps surface these issues.
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
template<class T> class _IncludeInsideExternCNotPortable;
|
||||
#endif
|
@@ -11,5 +11,5 @@ CHIPSET(0x27AE, I945_GME, "Intel(R) 945GME")
|
||||
CHIPSET(0x29B2, Q35_G, "Intel(R) Q35")
|
||||
CHIPSET(0x29C2, G33_G, "Intel(R) G33")
|
||||
CHIPSET(0x29D2, Q33_G, "Intel(R) Q33")
|
||||
CHIPSET(0xA011, PNV_GM, "Intel(R) Pineview M")
|
||||
CHIPSET(0xA001, PNV_G, "Intel(R) Pineview")
|
||||
CHIPSET(0xA011, IGD_GM, "Intel(R) IGD")
|
||||
CHIPSET(0xA001, IGD_G, "Intel(R) IGD")
|
||||
|
@@ -109,22 +109,7 @@ CHIPSET(0x162A, bdw_gt3, "Intel(R) Iris Pro P6300 (Broadwell GT3e)")
|
||||
CHIPSET(0x162B, bdw_gt3, "Intel(R) Iris 6100 (Broadwell GT3)")
|
||||
CHIPSET(0x162D, bdw_gt3, "Intel(R) Broadwell GT3")
|
||||
CHIPSET(0x162E, bdw_gt3, "Intel(R) Broadwell GT3")
|
||||
CHIPSET(0x1902, skl_gt1, "Intel(R) Skylake DT GT1")
|
||||
CHIPSET(0x1906, skl_gt1, "Intel(R) Skylake ULT GT1")
|
||||
CHIPSET(0x190A, skl_gt1, "Intel(R) Skylake SRV GT1")
|
||||
CHIPSET(0x190B, skl_gt1, "Intel(R) Skylake Halo GT1")
|
||||
CHIPSET(0x190E, skl_gt1, "Intel(R) Skylake ULX GT1")
|
||||
CHIPSET(0x1912, skl_gt2, "Intel(R) Skylake DT GT2")
|
||||
CHIPSET(0x1916, skl_gt2, "Intel(R) Skylake ULT GT2")
|
||||
CHIPSET(0x191A, skl_gt2, "Intel(R) Skylake SRV GT2")
|
||||
CHIPSET(0x191B, skl_gt2, "Intel(R) Skylake Halo GT2")
|
||||
CHIPSET(0x191D, skl_gt2, "Intel(R) Skylake WKS GT2")
|
||||
CHIPSET(0x191E, skl_gt2, "Intel(R) Skylake ULX GT2")
|
||||
CHIPSET(0x1921, skl_gt2, "Intel(R) Skylake ULT GT2F")
|
||||
CHIPSET(0x1926, skl_gt3, "Intel(R) Skylake ULT GT3")
|
||||
CHIPSET(0x192A, skl_gt3, "Intel(R) Skylake SRV GT3")
|
||||
CHIPSET(0x192B, skl_gt3, "Intel(R) Skylake Halo GT3")
|
||||
CHIPSET(0x22B0, chv, "Intel(R) HD Graphics (Cherryview)")
|
||||
CHIPSET(0x22B1, chv, "Intel(R) HD Graphics (Cherryview)")
|
||||
CHIPSET(0x22B2, chv, "Intel(R) HD Graphics (Cherryview)")
|
||||
CHIPSET(0x22B3, chv, "Intel(R) HD Graphics (Cherryview)")
|
||||
CHIPSET(0x22B0, chv, "Intel(R) Cherryview")
|
||||
CHIPSET(0x22B1, chv, "Intel(R) Cherryview")
|
||||
CHIPSET(0x22B2, chv, "Intel(R) Cherryview")
|
||||
CHIPSET(0x22B3, chv, "Intel(R) Cherryview")
|
||||
|
@@ -63,7 +63,6 @@ CHIPSET(0x6608, OLAND_6608, OLAND)
|
||||
CHIPSET(0x6610, OLAND_6610, OLAND)
|
||||
CHIPSET(0x6611, OLAND_6611, OLAND)
|
||||
CHIPSET(0x6613, OLAND_6613, OLAND)
|
||||
CHIPSET(0x6617, OLAND_6617, OLAND)
|
||||
CHIPSET(0x6620, OLAND_6620, OLAND)
|
||||
CHIPSET(0x6621, OLAND_6621, OLAND)
|
||||
CHIPSET(0x6623, OLAND_6623, OLAND)
|
||||
@@ -86,7 +85,6 @@ CHIPSET(0x6651, BONAIRE_6651, BONAIRE)
|
||||
CHIPSET(0x6658, BONAIRE_6658, BONAIRE)
|
||||
CHIPSET(0x665C, BONAIRE_665C, BONAIRE)
|
||||
CHIPSET(0x665D, BONAIRE_665D, BONAIRE)
|
||||
CHIPSET(0x665F, BONAIRE_665F, BONAIRE)
|
||||
|
||||
CHIPSET(0x9830, KABINI_9830, KABINI)
|
||||
CHIPSET(0x9831, KABINI_9831, KABINI)
|
||||
|
@@ -3,9 +3,9 @@
|
||||
|
||||
if BUILD_SHARED
|
||||
if HAVE_COMPAT_SYMLINKS
|
||||
all-local : .install-mesa-links
|
||||
all-local : .libs/install-mesa-links
|
||||
|
||||
.install-mesa-links : $(lib_LTLIBRARIES)
|
||||
.libs/install-mesa-links : $(lib_LTLIBRARIES)
|
||||
$(AM_V_GEN)$(MKDIR_P) $(top_builddir)/$(LIB_DIR); \
|
||||
for f in $(join $(addsuffix .libs/,$(dir $(lib_LTLIBRARIES))),$(notdir $(lib_LTLIBRARIES:%.la=%.$(LIB_EXT)*))); do \
|
||||
if test -h .libs/$$f; then \
|
||||
@@ -14,12 +14,5 @@ all-local : .install-mesa-links
|
||||
ln -f $$f $(top_builddir)/$(LIB_DIR); \
|
||||
fi; \
|
||||
done && touch $@
|
||||
|
||||
clean-local:
|
||||
for f in $(notdir $(lib_LTLIBRARIES:%.la=.libs/%.$(LIB_EXT)*)); do \
|
||||
$(RM) $(top_builddir)/$(LIB_DIR)/$$f; \
|
||||
done;
|
||||
$(RM) .install-mesa-links
|
||||
|
||||
endif
|
||||
endif
|
||||
|
@@ -1,63 +0,0 @@
|
||||
# ===========================================================================
|
||||
#
|
||||
# SYNOPSIS
|
||||
#
|
||||
# AX_CHECK_PYTHON_MAKO_MODULE(MIN_VERSION_NUMBER)
|
||||
#
|
||||
# DESCRIPTION
|
||||
#
|
||||
# Check whether Python mako module is installed and its version higher than
|
||||
# minimum requested.
|
||||
#
|
||||
# Example of its use:
|
||||
#
|
||||
# For example, the minimum mako version would be 0.7.3. Then configure.ac
|
||||
# would contain:
|
||||
#
|
||||
# AX_CHECK_PYTHON_MAKO_MODULE(0.7.3)
|
||||
#
|
||||
# LICENSE
|
||||
#
|
||||
# Copyright (c) 2014 Intel Corporation.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to
|
||||
# deal in the Software without restriction, including without limitation the
|
||||
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
# sell copies of the Software, and to permit persons to whom the Software is
|
||||
# furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in
|
||||
# all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||
# IN THE SOFTWARE.
|
||||
|
||||
dnl macro that checks for mako module in python
|
||||
AC_DEFUN([AX_CHECK_PYTHON_MAKO_MODULE],
|
||||
[AC_MSG_CHECKING(if module mako in python is installed)
|
||||
echo "
|
||||
try:
|
||||
import sys
|
||||
import mako
|
||||
except ImportError as err:
|
||||
sys.exit(err)
|
||||
else:
|
||||
ver_req = map(int, '$1'.split('.'))
|
||||
ver_act = map(int, mako.__version__.split('.'))
|
||||
sys.exit(int(ver_req > ver_act))
|
||||
" | $PYTHON2 -
|
||||
|
||||
if test $? -ne 0 ; then
|
||||
AC_MSG_RESULT(no)
|
||||
AC_SUBST(acv_mako_found, 'no')
|
||||
else
|
||||
AC_MSG_RESULT(yes)
|
||||
AC_SUBST(acv_mako_found, 'yes')
|
||||
fi
|
||||
])
|
@@ -42,7 +42,7 @@
|
||||
# modified version of the Autoconf Macro, you may extend this special
|
||||
# exception to the GPL to apply to your modified version as well.
|
||||
|
||||
#serial 12
|
||||
#serial 9
|
||||
|
||||
# mattst88:
|
||||
# Replaced m4_ifnblank(...) with m4_ifval(m4_normalize(...), ...)
|
||||
@@ -53,7 +53,7 @@ AC_DEFUN([AX_PROG_FLEX], [
|
||||
AC_REQUIRE([AC_PROG_EGREP])
|
||||
|
||||
AC_CACHE_CHECK([if flex is the lexer generator],[ax_cv_prog_flex],[
|
||||
AS_IF([$LEX --version 2>/dev/null | $EGREP -qw '^g?flex'],
|
||||
AS_IF([$LEX --version 2>/dev/null | $EGREP -q '^\<flex\>'],
|
||||
[ax_cv_prog_flex=yes], [ax_cv_prog_flex=no])
|
||||
])
|
||||
AS_IF([test "$ax_cv_prog_flex" = "yes"],
|
||||
|
149
scons/gallium.py
149
scons/gallium.py
@@ -35,7 +35,7 @@ import os
|
||||
import os.path
|
||||
import re
|
||||
import subprocess
|
||||
import platform as host_platform
|
||||
import platform as _platform
|
||||
import sys
|
||||
import tempfile
|
||||
|
||||
@@ -87,25 +87,6 @@ def createInstallMethods(env):
|
||||
env.AddMethod(install_shared_library, 'InstallSharedLibrary')
|
||||
|
||||
|
||||
def msvc2013_compat(env):
|
||||
if env['gcc']:
|
||||
env.Append(CCFLAGS = [
|
||||
'-Werror=vla',
|
||||
'-Werror=pointer-arith',
|
||||
])
|
||||
|
||||
def msvc2008_compat(env):
|
||||
msvc2013_compat(env)
|
||||
if env['gcc']:
|
||||
env.Append(CFLAGS = [
|
||||
'-Werror=declaration-after-statement',
|
||||
])
|
||||
|
||||
def createMSVCCompatMethods(env):
|
||||
env.AddMethod(msvc2013_compat, 'MSVC2013Compat')
|
||||
env.AddMethod(msvc2008_compat, 'MSVC2008Compat')
|
||||
|
||||
|
||||
def num_jobs():
|
||||
try:
|
||||
return int(os.environ['NUMBER_OF_PROCESSORS'])
|
||||
@@ -147,17 +128,6 @@ def check_cc(env, cc, expr, cpp_opt = '-E'):
|
||||
return result
|
||||
|
||||
|
||||
def check_prog(env, prog):
|
||||
"""Check whether this program exists."""
|
||||
|
||||
sys.stdout.write('Checking for %s ... ' % prog)
|
||||
|
||||
result = env.Detect(prog)
|
||||
|
||||
sys.stdout.write(' %s\n' % ['no', 'yes'][int(bool(result))])
|
||||
return result
|
||||
|
||||
|
||||
def generate(env):
|
||||
"""Common environment generation code"""
|
||||
|
||||
@@ -197,7 +167,7 @@ def generate(env):
|
||||
env['gcc'] = 0
|
||||
env['clang'] = 0
|
||||
env['msvc'] = 0
|
||||
if host_platform.system() == 'Windows':
|
||||
if _platform.system() == 'Windows':
|
||||
env['msvc'] = check_cc(env, 'MSVC', 'defined(_MSC_VER)', '/E')
|
||||
if not env['msvc']:
|
||||
env['gcc'] = check_cc(env, 'GCC', 'defined(__GNUC__) && !defined(__clang__)')
|
||||
@@ -221,10 +191,10 @@ def generate(env):
|
||||
|
||||
# Determine whether we are cross compiling; in particular, whether we need
|
||||
# to compile code generators with a different compiler as the target code.
|
||||
hosthost_platform = host_platform.system().lower()
|
||||
if hosthost_platform.startswith('cygwin'):
|
||||
hosthost_platform = 'cygwin'
|
||||
host_machine = os.environ.get('PROCESSOR_ARCHITEW6432', os.environ.get('PROCESSOR_ARCHITECTURE', host_platform.machine()))
|
||||
host_platform = _platform.system().lower()
|
||||
if host_platform.startswith('cygwin'):
|
||||
host_platform = 'cygwin'
|
||||
host_machine = os.environ.get('PROCESSOR_ARCHITEW6432', os.environ.get('PROCESSOR_ARCHITECTURE', _platform.machine()))
|
||||
host_machine = {
|
||||
'x86': 'x86',
|
||||
'i386': 'x86',
|
||||
@@ -235,7 +205,7 @@ def generate(env):
|
||||
'AMD64': 'x86_64',
|
||||
'x86_64': 'x86_64',
|
||||
}.get(host_machine, 'generic')
|
||||
env['crosscompile'] = platform != hosthost_platform
|
||||
env['crosscompile'] = platform != host_platform
|
||||
if machine == 'x86_64' and host_machine != 'x86_64':
|
||||
env['crosscompile'] = True
|
||||
env['hostonly'] = False
|
||||
@@ -313,7 +283,6 @@ def generate(env):
|
||||
'_SVID_SOURCE',
|
||||
'_BSD_SOURCE',
|
||||
'_GNU_SOURCE',
|
||||
'_DEFAULT_SOURCE',
|
||||
'HAVE_PTHREAD',
|
||||
'HAVE_POSIX_MEMALIGN',
|
||||
]
|
||||
@@ -362,7 +331,6 @@ def generate(env):
|
||||
'_SCL_SECURE_NO_WARNINGS',
|
||||
'_SCL_SECURE_NO_DEPRECATE',
|
||||
'_ALLOW_KEYWORD_MACROS',
|
||||
'_HAS_EXCEPTIONS=0', # Tell C++ STL to not use exceptions
|
||||
]
|
||||
if env['build'] in ('debug', 'checked'):
|
||||
cppdefines += ['_DEBUG']
|
||||
@@ -374,26 +342,6 @@ def generate(env):
|
||||
print 'warning: Floating-point textures enabled.'
|
||||
print 'warning: Please consult docs/patents.txt with your lawyer before building Mesa.'
|
||||
cppdefines += ['TEXTURE_FLOAT_ENABLED']
|
||||
if gcc_compat:
|
||||
ccversion = env['CCVERSION']
|
||||
cppdefines += [
|
||||
'HAVE___BUILTIN_EXPECT',
|
||||
'HAVE___BUILTIN_FFS',
|
||||
'HAVE___BUILTIN_FFSLL',
|
||||
'HAVE_FUNC_ATTRIBUTE_FLATTEN',
|
||||
'HAVE_FUNC_ATTRIBUTE_UNUSED',
|
||||
# GCC 3.0
|
||||
'HAVE_FUNC_ATTRIBUTE_FORMAT',
|
||||
'HAVE_FUNC_ATTRIBUTE_PACKED',
|
||||
# GCC 3.4
|
||||
'HAVE___BUILTIN_CTZ',
|
||||
'HAVE___BUILTIN_POPCOUNT',
|
||||
'HAVE___BUILTIN_POPCOUNTLL',
|
||||
'HAVE___BUILTIN_CLZ',
|
||||
'HAVE___BUILTIN_CLZLL',
|
||||
]
|
||||
if distutils.version.LooseVersion(ccversion) >= distutils.version.LooseVersion('4.5'):
|
||||
cppdefines += ['HAVE___BUILTIN_UNREACHABLE']
|
||||
env.Append(CPPDEFINES = cppdefines)
|
||||
|
||||
# C compiler options
|
||||
@@ -429,19 +377,23 @@ def generate(env):
|
||||
'-m32',
|
||||
#'-march=pentium4',
|
||||
]
|
||||
if platform != 'haiku':
|
||||
if distutils.version.LooseVersion(ccversion) >= distutils.version.LooseVersion('4.2') \
|
||||
and (platform != 'windows' or env['build'] == 'debug' or True) \
|
||||
and platform != 'haiku':
|
||||
# NOTE: We need to ensure stack is realigned given that we
|
||||
# produce shared objects, and have no control over the stack
|
||||
# alignment policy of the application. Therefore we need
|
||||
# -mstackrealign ore -mincoming-stack-boundary=2.
|
||||
#
|
||||
# XXX: -O and -mstackrealign causes stack corruption on MinGW
|
||||
#
|
||||
# XXX: We could have SSE without -mstackrealign if we always used
|
||||
# __attribute__((force_align_arg_pointer)), but that's not
|
||||
# always the case.
|
||||
ccflags += [
|
||||
'-mstackrealign', # ensure stack is aligned
|
||||
'-msse', '-msse2', # enable SIMD intrinsics
|
||||
'-mfpmath=sse', # generate SSE floating-point arithmetic
|
||||
'-mmmx', '-msse', '-msse2', # enable SIMD intrinsics
|
||||
#'-mfpmath=sse',
|
||||
]
|
||||
if platform in ['windows', 'darwin']:
|
||||
# Workaround http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37216
|
||||
@@ -470,6 +422,13 @@ def generate(env):
|
||||
'-Wmissing-prototypes',
|
||||
'-std=gnu99',
|
||||
]
|
||||
if distutils.version.LooseVersion(ccversion) >= distutils.version.LooseVersion('4.2'):
|
||||
ccflags += [
|
||||
'-Wpointer-arith',
|
||||
]
|
||||
cflags += [
|
||||
'-Wdeclaration-after-statement',
|
||||
]
|
||||
if icc:
|
||||
cflags += [
|
||||
'-std=gnu99',
|
||||
@@ -506,19 +465,14 @@ def generate(env):
|
||||
]
|
||||
ccflags += [
|
||||
'/W3', # warning level
|
||||
'/wd4018', # signed/unsigned mismatch
|
||||
'/wd4056', # overflow in floating-point constant arithmetic
|
||||
'/wd4244', # conversion from 'type1' to 'type2', possible loss of data
|
||||
'/wd4267', # 'var' : conversion from 'size_t' to 'type', possible loss of data
|
||||
'/wd4305', # truncation from 'type1' to 'type2'
|
||||
'/wd4351', # new behavior: elements of array 'array' will be default initialized
|
||||
'/wd4756', # overflow in constant arithmetic
|
||||
'/wd4800', # forcing value to bool 'true' or 'false' (performance warning)
|
||||
'/wd4996', # disable deprecated POSIX name warnings
|
||||
]
|
||||
if env['machine'] == 'x86':
|
||||
ccflags += [
|
||||
'/arch:SSE2', # use the SSE2 instructions (default since MSVC 2012)
|
||||
#'/arch:SSE2', # use the SSE2 instructions
|
||||
]
|
||||
if platform == 'windows':
|
||||
ccflags += [
|
||||
@@ -549,7 +503,6 @@ def generate(env):
|
||||
env.Append(CCFLAGS = [
|
||||
'/analyze',
|
||||
#'/analyze:log', '${TARGET.base}.xml',
|
||||
'/wd28251', # Inconsistent annotation for function
|
||||
])
|
||||
if env['clang']:
|
||||
# scan-build will produce more comprehensive output
|
||||
@@ -634,46 +587,39 @@ def generate(env):
|
||||
env.Append(CCFLAGS = ['-fopenmp'])
|
||||
env.Append(LIBS = ['gomp'])
|
||||
|
||||
if gcc_compat:
|
||||
ccversion = env['CCVERSION']
|
||||
cppdefines += [
|
||||
'HAVE___BUILTIN_EXPECT',
|
||||
'HAVE___BUILTIN_FFS',
|
||||
'HAVE___BUILTIN_FFSLL',
|
||||
'HAVE_FUNC_ATTRIBUTE_FLATTEN',
|
||||
]
|
||||
if distutils.version.LooseVersion(ccversion) >= distutils.version.LooseVersion('3'):
|
||||
cppdefines += [
|
||||
'HAVE_FUNC_ATTRIBUTE_FORMAT',
|
||||
'HAVE_FUNC_ATTRIBUTE_PACKED',
|
||||
]
|
||||
if distutils.version.LooseVersion(ccversion) >= distutils.version.LooseVersion('3.4'):
|
||||
cppdefines += [
|
||||
'HAVE___BUILTIN_CTZ',
|
||||
'HAVE___BUILTIN_POPCOUNT',
|
||||
'HAVE___BUILTIN_POPCOUNTLL',
|
||||
'HAVE___BUILTIN_CLZ',
|
||||
'HAVE___BUILTIN_CLZLL',
|
||||
]
|
||||
if distutils.version.LooseVersion(ccversion) >= distutils.version.LooseVersion('4.5'):
|
||||
cppdefines += ['HAVE___BUILTIN_UNREACHABLE']
|
||||
|
||||
# Load tools
|
||||
env.Tool('lex')
|
||||
if env['msvc']:
|
||||
env.Append(LEXFLAGS = [
|
||||
# Force flex to use const keyword in prototypes, as relies on
|
||||
# __cplusplus or __STDC__ macro to determine whether it's safe to
|
||||
# use const keyword, but MSVC never defines __STDC__ unless we
|
||||
# disable all MSVC extensions.
|
||||
'-DYY_USE_CONST=',
|
||||
])
|
||||
# Flex relies on __STDC_VERSION__>=199901L to decide when to include
|
||||
# C99 inttypes.h. We always have inttypes.h available with MSVC
|
||||
# (either the one bundled with MSVC 2013, or the one we bundle
|
||||
# ourselves), but we can't just define __STDC_VERSION__ without
|
||||
# breaking stuff, as MSVC doesn't fully support C99. There's also no
|
||||
# way to premptively include stdint.
|
||||
env.Append(CCFLAGS = ['-FIinttypes.h'])
|
||||
if host_platform.system() == 'Windows':
|
||||
# Prefer winflexbison binaries, as not only they are easier to install
|
||||
# (no additional dependencies), but also better Windows support.
|
||||
if check_prog(env, 'win_flex'):
|
||||
env["LEX"] = 'win_flex'
|
||||
env.Append(LEXFLAGS = [
|
||||
# windows compatibility (uses <io.h> instead of <unistd.h> and
|
||||
# _isatty, _fileno functions)
|
||||
'--wincompat'
|
||||
])
|
||||
|
||||
env.Tool('yacc')
|
||||
if host_platform.system() == 'Windows':
|
||||
if check_prog(env, 'win_bison'):
|
||||
env["YACC"] = 'win_bison'
|
||||
|
||||
if env['llvm']:
|
||||
env.Tool('llvm')
|
||||
|
||||
# Custom builders and methods
|
||||
env.Tool('custom')
|
||||
createInstallMethods(env)
|
||||
createMSVCCompatMethods(env)
|
||||
|
||||
env.PkgCheckModules('X11', ['x11', 'xext', 'xdamage', 'xfixes', 'glproto >= 1.4.13'])
|
||||
env.PkgCheckModules('XCB', ['x11-xcb', 'xcb-glx >= 1.8.1', 'xcb-dri2 >= 1.8'])
|
||||
@@ -681,9 +627,6 @@ def generate(env):
|
||||
env.PkgCheckModules('DRM', ['libdrm >= 2.4.38'])
|
||||
env.PkgCheckModules('UDEV', ['libudev >= 151'])
|
||||
|
||||
if env['x11']:
|
||||
env.Append(CPPPATH = env['X11_CPPPATH'])
|
||||
|
||||
env['dri'] = env['x11'] and env['drm']
|
||||
|
||||
# for debugging
|
||||
|
@@ -72,25 +72,18 @@ def generate(env):
|
||||
return
|
||||
|
||||
# Try to determine the LLVM version from llvm/Config/config.h
|
||||
llvm_config = os.path.join(llvm_dir, 'include/llvm/Config/llvm-config.h')
|
||||
llvm_config = os.path.join(llvm_dir, 'include/llvm/Config/config.h')
|
||||
if not os.path.exists(llvm_config):
|
||||
print 'scons: could not find %s' % llvm_config
|
||||
return
|
||||
llvm_version_major_re = re.compile(r'^#define LLVM_VERSION_MAJOR ([0-9]+)')
|
||||
llvm_version_minor_re = re.compile(r'^#define LLVM_VERSION_MINOR ([0-9]+)')
|
||||
llvm_version_re = re.compile(r'^#define PACKAGE_VERSION "([^"]*)"')
|
||||
llvm_version = None
|
||||
llvm_version_major = None
|
||||
llvm_version_minor = None
|
||||
for line in open(llvm_config, 'rt'):
|
||||
mo = llvm_version_major_re.match(line)
|
||||
mo = llvm_version_re.match(line)
|
||||
if mo:
|
||||
llvm_version_major = mo.group(1)
|
||||
mo = llvm_version_minor_re.match(line)
|
||||
if mo:
|
||||
llvm_version_minor = mo.group(1)
|
||||
if llvm_version_major is not None and llvm_version_minor is not None:
|
||||
llvm_version = distutils.version.LooseVersion('%s.%s' % (llvm_version_major, llvm_version_minor))
|
||||
|
||||
llvm_version = mo.group(1)
|
||||
llvm_version = distutils.version.LooseVersion(llvm_version)
|
||||
break
|
||||
if llvm_version is None:
|
||||
print 'scons: could not determine the LLVM version from %s' % llvm_config
|
||||
return
|
||||
@@ -105,32 +98,8 @@ def generate(env):
|
||||
'HAVE_STDINT_H',
|
||||
])
|
||||
env.Prepend(LIBPATH = [os.path.join(llvm_dir, 'lib')])
|
||||
# LIBS should match the output of `llvm-config --libs engine mcjit bitwriter x86asmprinter`
|
||||
if llvm_version >= distutils.version.LooseVersion('3.6'):
|
||||
env.Prepend(LIBS = [
|
||||
'LLVMBitWriter', 'LLVMX86Disassembler', 'LLVMX86AsmParser',
|
||||
'LLVMX86CodeGen', 'LLVMSelectionDAG', 'LLVMAsmPrinter',
|
||||
'LLVMCodeGen', 'LLVMScalarOpts', 'LLVMProfileData',
|
||||
'LLVMInstCombine', 'LLVMTransformUtils', 'LLVMipa',
|
||||
'LLVMAnalysis', 'LLVMX86Desc', 'LLVMMCDisassembler',
|
||||
'LLVMX86Info', 'LLVMX86AsmPrinter', 'LLVMX86Utils',
|
||||
'LLVMMCJIT', 'LLVMTarget', 'LLVMExecutionEngine',
|
||||
'LLVMRuntimeDyld', 'LLVMObject', 'LLVMMCParser',
|
||||
'LLVMBitReader', 'LLVMMC', 'LLVMCore', 'LLVMSupport'
|
||||
])
|
||||
elif llvm_version >= distutils.version.LooseVersion('3.5'):
|
||||
env.Prepend(LIBS = [
|
||||
'LLVMBitWriter', 'LLVMMCJIT', 'LLVMRuntimeDyld',
|
||||
'LLVMX86Disassembler', 'LLVMX86AsmParser', 'LLVMX86CodeGen',
|
||||
'LLVMSelectionDAG', 'LLVMAsmPrinter', 'LLVMX86Desc',
|
||||
'LLVMObject', 'LLVMMCParser', 'LLVMBitReader', 'LLVMX86Info',
|
||||
'LLVMX86AsmPrinter', 'LLVMX86Utils', 'LLVMJIT',
|
||||
'LLVMExecutionEngine', 'LLVMCodeGen', 'LLVMScalarOpts',
|
||||
'LLVMInstCombine', 'LLVMTransformUtils', 'LLVMipa',
|
||||
'LLVMAnalysis', 'LLVMTarget', 'LLVMMC', 'LLVMCore',
|
||||
'LLVMSupport'
|
||||
])
|
||||
else:
|
||||
if True:
|
||||
# 3.2
|
||||
env.Prepend(LIBS = [
|
||||
'LLVMBitWriter', 'LLVMX86Disassembler', 'LLVMX86AsmParser',
|
||||
'LLVMX86CodeGen', 'LLVMX86Desc', 'LLVMSelectionDAG',
|
||||
@@ -151,11 +120,6 @@ def generate(env):
|
||||
# Some of the LLVM C headers use the inline keyword without
|
||||
# defining it.
|
||||
env.Append(CPPDEFINES = [('inline', '__inline')])
|
||||
# Match some of the warning options from llvm/cmake/modules/HandleLLVMOptions.cmake
|
||||
env.AppendUnique(CXXFLAGS = [
|
||||
'/wd4355', # 'this' : used in base member initializer list
|
||||
'/wd4624', # 'derived class' : destructor could not be generated because a base class destructor is inaccessible
|
||||
])
|
||||
if env['build'] in ('debug', 'checked'):
|
||||
# LLVM libraries are static, build with /MT, and they
|
||||
# automatically link agains LIBCMT. When we're doing a
|
||||
|
@@ -19,9 +19,7 @@
|
||||
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||
# IN THE SOFTWARE.
|
||||
|
||||
AUTOMAKE_OPTIONS = subdir-objects
|
||||
|
||||
SUBDIRS = . gtest util mapi/glapi/gen mapi
|
||||
SUBDIRS = gtest util mapi
|
||||
|
||||
if NEED_OPENGL_COMMON
|
||||
SUBDIRS += glsl mesa
|
||||
@@ -34,7 +32,7 @@ SUBDIRS += glx
|
||||
endif
|
||||
|
||||
if HAVE_EGL_PLATFORM_WAYLAND
|
||||
SUBDIRS += egl/wayland/wayland-egl egl/wayland/wayland-drm
|
||||
SUBDIRS += egl/wayland
|
||||
endif
|
||||
|
||||
if HAVE_EGL_DRIVER_DRI2
|
||||
@@ -53,24 +51,4 @@ if HAVE_GALLIUM
|
||||
SUBDIRS += gallium
|
||||
endif
|
||||
|
||||
EXTRA_DIST = \
|
||||
egl/drivers/haiku \
|
||||
egl/docs \
|
||||
getopt hgl SConscript
|
||||
|
||||
AM_CFLAGS = $(VISIBILITY_CFLAGS)
|
||||
AM_CXXFLAGS = $(VISIBILITY_CXXFLAGS)
|
||||
|
||||
AM_CPPFLAGS = \
|
||||
-I$(top_srcdir)/include/ \
|
||||
-I$(top_srcdir)/src/mapi/ \
|
||||
-I$(top_srcdir)/src/mesa/ \
|
||||
$(DEFINES)
|
||||
|
||||
noinst_LTLIBRARIES = libglsl_util.la
|
||||
|
||||
libglsl_util_la_SOURCES = \
|
||||
mesa/main/imports.c \
|
||||
mesa/program/prog_hash_table.c \
|
||||
mesa/program/symbol_table.c \
|
||||
mesa/program/dummy_errors.c
|
||||
EXTRA_DIST = getopt
|
||||
|
@@ -12,8 +12,7 @@ if env['hostonly']:
|
||||
# compilation
|
||||
Return()
|
||||
|
||||
if env['platform'] != 'windows':
|
||||
SConscript('loader/SConscript')
|
||||
SConscript('loader/SConscript')
|
||||
|
||||
# When env['gles'] is set, the targets defined in mapi/glapi/SConscript are not
|
||||
# used. libgl-xlib and libgl-gdi adapt themselves to use the targets defined
|
||||
@@ -28,15 +27,12 @@ if env['platform'] in ['haiku']:
|
||||
|
||||
SConscript('mesa/SConscript')
|
||||
|
||||
SConscript('mapi/vgapi/SConscript')
|
||||
|
||||
if not env['embedded']:
|
||||
if env['platform'] not in ('cygwin', 'darwin', 'freebsd', 'haiku', 'windows'):
|
||||
SConscript('glx/SConscript')
|
||||
if env['platform'] not in ['darwin', 'haiku', 'sunos', 'windows']:
|
||||
if env['dri']:
|
||||
SConscript('egl/drivers/dri2/SConscript')
|
||||
SConscript('egl/main/SConscript')
|
||||
if env['platform'] == 'haiku':
|
||||
SConscript('egl/drivers/haiku/SConscript')
|
||||
if env['platform'] not in ['darwin', 'haiku', 'sunos']:
|
||||
SConscript('egl/main/SConscript')
|
||||
|
||||
if env['gles']:
|
||||
|
@@ -32,32 +32,20 @@ LOCAL_SRC_FILES := \
|
||||
platform_android.c
|
||||
|
||||
LOCAL_CFLAGS := \
|
||||
-DDEFAULT_DRIVER_DIR=\"/system/lib/dri\" \
|
||||
-DHAVE_SHARED_GLAPI \
|
||||
-DHAVE_ANDROID_PLATFORM
|
||||
|
||||
ifeq ($(MESA_LOLLIPOP_BUILD),true)
|
||||
LOCAL_CFLAGS_x86 := -DDEFAULT_DRIVER_DIR=\"/system/lib/dri\"
|
||||
LOCAL_CFLAGS_x86_64 := -DDEFAULT_DRIVER_DIR=\"/system/lib64/dri\"
|
||||
else
|
||||
LOCAL_CFLAGS += -DDEFAULT_DRIVER_DIR=\"/system/lib/dri\"
|
||||
endif
|
||||
|
||||
LOCAL_C_INCLUDES := \
|
||||
$(MESA_TOP)/src/mapi \
|
||||
$(MESA_TOP)/src/egl/main \
|
||||
$(MESA_TOP)/src/loader \
|
||||
$(TARGET_OUT_HEADERS)/libdrm \
|
||||
$(DRM_GRALLOC_TOP)
|
||||
|
||||
LOCAL_STATIC_LIBRARIES := \
|
||||
libmesa_loader
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := libdrm
|
||||
|
||||
ifeq ($(shell echo "$(MESA_ANDROID_VERSION) >= 4.2" | bc),1)
|
||||
LOCAL_SHARED_LIBRARIES += \
|
||||
libsync
|
||||
endif
|
||||
|
||||
LOCAL_MODULE := libmesa_egl_dri2
|
||||
|
||||
include $(MESA_COMMON_MK)
|
||||
|
@@ -36,9 +36,8 @@ AM_CFLAGS = \
|
||||
noinst_LTLIBRARIES = libegl_dri2.la
|
||||
|
||||
libegl_dri2_la_SOURCES = \
|
||||
egl_dri2.c \
|
||||
egl_dri2.h \
|
||||
egl_dri2_fallbacks.h
|
||||
egl_dri2.c
|
||||
|
||||
libegl_dri2_la_LIBADD = \
|
||||
$(top_builddir)/src/loader/libloader.la \
|
||||
@@ -64,5 +63,3 @@ if HAVE_EGL_PLATFORM_DRM
|
||||
libegl_dri2_la_SOURCES += platform_drm.c
|
||||
AM_CFLAGS += -DHAVE_DRM_PLATFORM
|
||||
endif
|
||||
|
||||
EXTRA_DIST = SConscript
|
||||
|
@@ -1,40 +0,0 @@
|
||||
Import('*')
|
||||
|
||||
env = env.Clone()
|
||||
|
||||
env.Append(CPPDEFINES = [
|
||||
'DEFAULT_DRIVER_DIR=\\"\\"'
|
||||
])
|
||||
|
||||
env.Append(CPPPATH = [
|
||||
'#/include',
|
||||
'#/src/egl/main',
|
||||
'#/src/loader',
|
||||
])
|
||||
|
||||
sources = [
|
||||
'egl_dri2.c',
|
||||
]
|
||||
|
||||
if env['x11']:
|
||||
sources.append('platform_x11.c')
|
||||
env.Append(CPPDEFINES = [
|
||||
'HAVE_X11_PLATFORM',
|
||||
])
|
||||
#env.Append(CPPPATH = [
|
||||
# 'XCB_DRI2_CFLAGS',
|
||||
#])
|
||||
|
||||
if env['drm']:
|
||||
env.PkgUseModules('DRM')
|
||||
|
||||
env.Prepend(LIBS = [
|
||||
libloader,
|
||||
])
|
||||
|
||||
egl_dri2 = env.ConvenienceLibrary(
|
||||
target = 'egl_dri2',
|
||||
source = sources,
|
||||
)
|
||||
|
||||
Export('egl_dri2')
|
@@ -27,7 +27,6 @@
|
||||
|
||||
#define WL_HIDE_DEPRECATED
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
@@ -51,7 +50,6 @@
|
||||
#endif
|
||||
|
||||
#include "egl_dri2.h"
|
||||
#include "../util/u_atomic.h"
|
||||
|
||||
const __DRIuseInvalidateExtension use_invalidate = {
|
||||
.base = { __DRI_USE_INVALIDATE, 1 }
|
||||
@@ -195,15 +193,6 @@ dri2_add_config(_EGLDisplay *disp, const __DRIconfig *dri_config, int id,
|
||||
dri_masks[3] = value;
|
||||
break;
|
||||
|
||||
case __DRI_ATTRIB_ACCUM_RED_SIZE:
|
||||
case __DRI_ATTRIB_ACCUM_GREEN_SIZE:
|
||||
case __DRI_ATTRIB_ACCUM_BLUE_SIZE:
|
||||
case __DRI_ATTRIB_ACCUM_ALPHA_SIZE:
|
||||
/* Don't expose visuals with the accumulation buffer. */
|
||||
if (value > 0)
|
||||
return NULL;
|
||||
break;
|
||||
|
||||
default:
|
||||
key = dri2_to_egl_attribute_map[attrib];
|
||||
if (key != 0)
|
||||
@@ -528,13 +517,6 @@ dri2_setup_screen(_EGLDisplay *disp)
|
||||
disp->Extensions.EXT_create_context_robustness = EGL_TRUE;
|
||||
}
|
||||
|
||||
if (dri2_dpy->fence) {
|
||||
disp->Extensions.KHR_fence_sync = EGL_TRUE;
|
||||
disp->Extensions.KHR_wait_sync = EGL_TRUE;
|
||||
if (dri2_dpy->fence->get_fence_from_cl_event)
|
||||
disp->Extensions.KHR_cl_event2 = EGL_TRUE;
|
||||
}
|
||||
|
||||
if (dri2_dpy->image) {
|
||||
if (dri2_dpy->image->base.version >= 10 &&
|
||||
dri2_dpy->image->getCapabilities != NULL) {
|
||||
@@ -542,14 +524,8 @@ dri2_setup_screen(_EGLDisplay *disp)
|
||||
|
||||
capabilities = dri2_dpy->image->getCapabilities(dri2_dpy->dri_screen);
|
||||
disp->Extensions.MESA_drm_image = (capabilities & __DRI_IMAGE_CAP_GLOBAL_NAMES) != 0;
|
||||
|
||||
if (dri2_dpy->image->base.version >= 11)
|
||||
disp->Extensions.MESA_image_dma_buf_export = EGL_TRUE;
|
||||
} else {
|
||||
} else
|
||||
disp->Extensions.MESA_drm_image = EGL_TRUE;
|
||||
if (dri2_dpy->image->base.version >= 11)
|
||||
disp->Extensions.MESA_image_dma_buf_export = EGL_TRUE;
|
||||
}
|
||||
|
||||
disp->Extensions.KHR_image_base = EGL_TRUE;
|
||||
disp->Extensions.KHR_gl_renderbuffer_image = EGL_TRUE;
|
||||
@@ -558,7 +534,7 @@ dri2_setup_screen(_EGLDisplay *disp)
|
||||
disp->Extensions.KHR_gl_texture_2D_image = EGL_TRUE;
|
||||
disp->Extensions.KHR_gl_texture_cubemap_image = EGL_TRUE;
|
||||
}
|
||||
#ifdef HAVE_LIBDRM
|
||||
#ifdef HAVE_DRM_PLATFORM
|
||||
if (dri2_dpy->image->base.version >= 8 &&
|
||||
dri2_dpy->image->createImageFromDmaBufs) {
|
||||
disp->Extensions.EXT_image_dma_buf_import = EGL_TRUE;
|
||||
@@ -576,7 +552,6 @@ dri2_create_screen(_EGLDisplay *disp)
|
||||
{
|
||||
const __DRIextension **extensions;
|
||||
struct dri2_egl_display *dri2_dpy;
|
||||
unsigned i;
|
||||
|
||||
dri2_dpy = disp->DriverData;
|
||||
|
||||
@@ -617,26 +592,25 @@ dri2_create_screen(_EGLDisplay *disp)
|
||||
extensions = dri2_dpy->core->getExtensions(dri2_dpy->dri_screen);
|
||||
|
||||
if (dri2_dpy->dri2) {
|
||||
unsigned i;
|
||||
|
||||
if (!dri2_bind_extensions(dri2_dpy, dri2_core_extensions, extensions))
|
||||
goto cleanup_dri_screen;
|
||||
|
||||
for (i = 0; extensions[i]; i++) {
|
||||
if (strcmp(extensions[i]->name, __DRI2_ROBUSTNESS) == 0) {
|
||||
dri2_dpy->robustness = (__DRIrobustnessExtension *) extensions[i];
|
||||
}
|
||||
if (strcmp(extensions[i]->name, __DRI2_CONFIG_QUERY) == 0) {
|
||||
dri2_dpy->config = (__DRI2configQueryExtension *) extensions[i];
|
||||
}
|
||||
}
|
||||
} else {
|
||||
assert(dri2_dpy->swrast);
|
||||
if (!dri2_bind_extensions(dri2_dpy, swrast_core_extensions, extensions))
|
||||
goto cleanup_dri_screen;
|
||||
}
|
||||
|
||||
for (i = 0; extensions[i]; i++) {
|
||||
if (strcmp(extensions[i]->name, __DRI2_ROBUSTNESS) == 0) {
|
||||
dri2_dpy->robustness = (__DRIrobustnessExtension *) extensions[i];
|
||||
}
|
||||
if (strcmp(extensions[i]->name, __DRI2_CONFIG_QUERY) == 0) {
|
||||
dri2_dpy->config = (__DRI2configQueryExtension *) extensions[i];
|
||||
}
|
||||
if (strcmp(extensions[i]->name, __DRI2_FENCE) == 0) {
|
||||
dri2_dpy->fence = (__DRI2fenceExtension *) extensions[i];
|
||||
}
|
||||
}
|
||||
|
||||
dri2_setup_screen(disp);
|
||||
|
||||
return EGL_TRUE;
|
||||
@@ -685,7 +659,6 @@ dri2_initialize(_EGLDriver *drv, _EGLDisplay *disp)
|
||||
#endif
|
||||
|
||||
default:
|
||||
_eglLog(_EGL_WARNING, "No EGL platform enabled.");
|
||||
return EGL_FALSE;
|
||||
}
|
||||
}
|
||||
@@ -728,12 +701,7 @@ dri2_terminate(_EGLDriver *drv, _EGLDisplay *disp)
|
||||
#endif
|
||||
#ifdef HAVE_WAYLAND_PLATFORM
|
||||
case _EGL_PLATFORM_WAYLAND:
|
||||
if (dri2_dpy->wl_drm)
|
||||
wl_drm_destroy(dri2_dpy->wl_drm);
|
||||
if (dri2_dpy->wl_shm)
|
||||
wl_shm_destroy(dri2_dpy->wl_shm);
|
||||
wl_registry_destroy(dri2_dpy->wl_registry);
|
||||
wl_event_queue_destroy(dri2_dpy->wl_queue);
|
||||
wl_drm_destroy(dri2_dpy->wl_drm);
|
||||
if (dri2_dpy->own_device) {
|
||||
wl_display_disconnect(dri2_dpy->wl_dpy);
|
||||
}
|
||||
@@ -1118,42 +1086,6 @@ dri2_swap_interval(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *surf,
|
||||
return dri2_dpy->vtbl->swap_interval(drv, dpy, surf, interval);
|
||||
}
|
||||
|
||||
/**
|
||||
* Asks the client API to flush any rendering to the drawable so that we can
|
||||
* do our swapbuffers.
|
||||
*/
|
||||
void
|
||||
dri2_flush_drawable_for_swapbuffers(_EGLDisplay *disp, _EGLSurface *draw)
|
||||
{
|
||||
struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
|
||||
struct dri2_egl_surface *dri2_surf = dri2_egl_surface(draw);
|
||||
|
||||
if (dri2_dpy->flush) {
|
||||
if (dri2_dpy->flush->base.version >= 4) {
|
||||
/* We know there's a current context because:
|
||||
*
|
||||
* "If surface is not bound to the calling thread’s current
|
||||
* context, an EGL_BAD_SURFACE error is generated."
|
||||
*/
|
||||
_EGLContext *ctx = _eglGetCurrentContext();
|
||||
struct dri2_egl_context *dri2_ctx = dri2_egl_context(ctx);
|
||||
|
||||
/* From the EGL 1.4 spec (page 52):
|
||||
*
|
||||
* "The contents of ancillary buffers are always undefined
|
||||
* after calling eglSwapBuffers."
|
||||
*/
|
||||
dri2_dpy->flush->flush_with_flags(dri2_ctx->dri_context,
|
||||
dri2_surf->dri_drawable,
|
||||
__DRI2_FLUSH_DRAWABLE |
|
||||
__DRI2_FLUSH_INVALIDATE_ANCILLARY,
|
||||
__DRI2_THROTTLE_SWAPBUFFER);
|
||||
} else {
|
||||
dri2_dpy->flush->flush(dri2_surf->dri_drawable);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static EGLBoolean
|
||||
dri2_swap_buffers(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *surf)
|
||||
{
|
||||
@@ -1366,7 +1298,7 @@ dri2_create_image_khr_renderbuffer(_EGLDisplay *disp, _EGLContext *ctx,
|
||||
return dri2_create_image_from_dri(disp, dri_image);
|
||||
}
|
||||
|
||||
#ifdef HAVE_LIBDRM
|
||||
#ifdef HAVE_DRM_PLATFORM
|
||||
static _EGLImage *
|
||||
dri2_create_image_mesa_drm_buffer(_EGLDisplay *disp, _EGLContext *ctx,
|
||||
EGLClientBuffer buffer, const EGLint *attr_list)
|
||||
@@ -1510,10 +1442,6 @@ dri2_create_image_khr_texture_error(int dri_error)
|
||||
egl_error = EGL_BAD_PARAMETER;
|
||||
break;
|
||||
|
||||
case __DRI_IMAGE_ERROR_BAD_ACCESS:
|
||||
egl_error = EGL_BAD_ACCESS;
|
||||
break;
|
||||
|
||||
default:
|
||||
assert(0);
|
||||
egl_error = EGL_BAD_MATCH;
|
||||
@@ -1606,7 +1534,7 @@ dri2_create_wayland_buffer_from_image(_EGLDriver *drv, _EGLDisplay *dpy,
|
||||
return dri2_dpy->vtbl->create_wayland_buffer_from_image(drv, dpy, img);
|
||||
}
|
||||
|
||||
#ifdef HAVE_LIBDRM
|
||||
#ifdef HAVE_DRM_PLATFORM
|
||||
static EGLBoolean
|
||||
dri2_check_dma_buf_attribs(const _EGLImageAttribs *attrs)
|
||||
{
|
||||
@@ -1856,7 +1784,7 @@ dri2_create_image_khr(_EGLDriver *drv, _EGLDisplay *disp,
|
||||
return dri2_create_image_khr_texture(disp, ctx, target, buffer, attr_list);
|
||||
case EGL_GL_RENDERBUFFER_KHR:
|
||||
return dri2_create_image_khr_renderbuffer(disp, ctx, buffer, attr_list);
|
||||
#ifdef HAVE_LIBDRM
|
||||
#ifdef HAVE_DRM_PLATFORM
|
||||
case EGL_DRM_BUFFER_MESA:
|
||||
return dri2_create_image_mesa_drm_buffer(disp, ctx, buffer, attr_list);
|
||||
#endif
|
||||
@@ -1864,7 +1792,7 @@ dri2_create_image_khr(_EGLDriver *drv, _EGLDisplay *disp,
|
||||
case EGL_WAYLAND_BUFFER_WL:
|
||||
return dri2_create_image_wayland_wl_buffer(disp, ctx, buffer, attr_list);
|
||||
#endif
|
||||
#ifdef HAVE_LIBDRM
|
||||
#ifdef HAVE_DRM_PLATFORM
|
||||
case EGL_LINUX_DMA_BUF_EXT:
|
||||
return dri2_create_image_dma_buf(disp, ctx, buffer, attr_list);
|
||||
#endif
|
||||
@@ -1888,7 +1816,7 @@ dri2_destroy_image_khr(_EGLDriver *drv, _EGLDisplay *disp, _EGLImage *image)
|
||||
return EGL_TRUE;
|
||||
}
|
||||
|
||||
#ifdef HAVE_LIBDRM
|
||||
#ifdef HAVE_DRM_PLATFORM
|
||||
static _EGLImage *
|
||||
dri2_create_drm_image_mesa(_EGLDriver *drv, _EGLDisplay *disp,
|
||||
const EGLint *attr_list)
|
||||
@@ -1999,55 +1927,6 @@ dri2_export_drm_image_mesa(_EGLDriver *drv, _EGLDisplay *disp, _EGLImage *img,
|
||||
|
||||
return EGL_TRUE;
|
||||
}
|
||||
|
||||
static EGLBoolean
|
||||
dri2_export_dma_buf_image_query_mesa(_EGLDriver *drv, _EGLDisplay *disp,
|
||||
_EGLImage *img,
|
||||
EGLint *fourcc, EGLint *nplanes,
|
||||
EGLuint64KHR *modifiers)
|
||||
{
|
||||
struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
|
||||
struct dri2_egl_image *dri2_img = dri2_egl_image(img);
|
||||
|
||||
(void) drv;
|
||||
|
||||
|
||||
if (nplanes)
|
||||
dri2_dpy->image->queryImage(dri2_img->dri_image,
|
||||
__DRI_IMAGE_ATTRIB_NUM_PLANES, nplanes);
|
||||
if (fourcc)
|
||||
dri2_dpy->image->queryImage(dri2_img->dri_image,
|
||||
__DRI_IMAGE_ATTRIB_FOURCC, fourcc);
|
||||
|
||||
if (modifiers)
|
||||
*modifiers = 0;
|
||||
|
||||
return EGL_TRUE;
|
||||
}
|
||||
|
||||
static EGLBoolean
|
||||
dri2_export_dma_buf_image_mesa(_EGLDriver *drv, _EGLDisplay *disp, _EGLImage *img,
|
||||
int *fds, EGLint *strides, EGLint *offsets)
|
||||
{
|
||||
struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
|
||||
struct dri2_egl_image *dri2_img = dri2_egl_image(img);
|
||||
|
||||
(void) drv;
|
||||
|
||||
/* rework later to provide multiple fds/strides/offsets */
|
||||
if (fds)
|
||||
dri2_dpy->image->queryImage(dri2_img->dri_image,
|
||||
__DRI_IMAGE_ATTRIB_FD, fds);
|
||||
|
||||
if (strides)
|
||||
dri2_dpy->image->queryImage(dri2_img->dri_image,
|
||||
__DRI_IMAGE_ATTRIB_STRIDE, strides);
|
||||
|
||||
if (offsets)
|
||||
offsets[0] = 0;
|
||||
|
||||
return EGL_TRUE;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_WAYLAND_PLATFORM
|
||||
@@ -2127,11 +2006,13 @@ dri2_bind_wayland_display_wl(_EGLDriver *drv, _EGLDisplay *disp,
|
||||
wl_drm_callbacks.authenticate =
|
||||
(int(*)(void *, uint32_t)) dri2_dpy->vtbl->authenticate;
|
||||
|
||||
#ifdef HAVE_LIBDRM
|
||||
if (drmGetCap(dri2_dpy->fd, DRM_CAP_PRIME, &cap) == 0 &&
|
||||
cap == (DRM_PRIME_CAP_IMPORT | DRM_PRIME_CAP_EXPORT) &&
|
||||
dri2_dpy->image->base.version >= 7 &&
|
||||
dri2_dpy->image->createImageFromFds != NULL)
|
||||
flags |= WAYLAND_DRM_PRIME;
|
||||
#endif
|
||||
|
||||
dri2_dpy->wl_server_drm =
|
||||
wayland_drm_init(wl_dpy, dri2_dpy->device_name,
|
||||
@@ -2197,130 +2078,6 @@ dri2_query_wayland_buffer_wl(_EGLDriver *drv, _EGLDisplay *disp,
|
||||
}
|
||||
#endif
|
||||
|
||||
static void
|
||||
dri2_egl_ref_sync(struct dri2_egl_sync *sync)
|
||||
{
|
||||
p_atomic_inc(&sync->refcount);
|
||||
}
|
||||
|
||||
static void
|
||||
dri2_egl_unref_sync(struct dri2_egl_display *dri2_dpy,
|
||||
struct dri2_egl_sync *dri2_sync)
|
||||
{
|
||||
if (p_atomic_dec_zero(&dri2_sync->refcount)) {
|
||||
dri2_dpy->fence->destroy_fence(dri2_dpy->dri_screen, dri2_sync->fence);
|
||||
free(dri2_sync);
|
||||
}
|
||||
}
|
||||
|
||||
static _EGLSync *
|
||||
dri2_create_sync(_EGLDriver *drv, _EGLDisplay *dpy,
|
||||
EGLenum type, const EGLint *attrib_list,
|
||||
const EGLAttribKHR *attrib_list64)
|
||||
{
|
||||
_EGLContext *ctx = _eglGetCurrentContext();
|
||||
struct dri2_egl_display *dri2_dpy = dri2_egl_display(dpy);
|
||||
struct dri2_egl_context *dri2_ctx = dri2_egl_context(ctx);
|
||||
struct dri2_egl_sync *dri2_sync;
|
||||
|
||||
dri2_sync = calloc(1, sizeof(struct dri2_egl_sync));
|
||||
if (!dri2_sync) {
|
||||
_eglError(EGL_BAD_ALLOC, "eglCreateSyncKHR");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (!_eglInitSync(&dri2_sync->base, dpy, type, attrib_list,
|
||||
attrib_list64)) {
|
||||
free(dri2_sync);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
switch (type) {
|
||||
case EGL_SYNC_FENCE_KHR:
|
||||
dri2_sync->fence = dri2_dpy->fence->create_fence(dri2_ctx->dri_context);
|
||||
if (!dri2_sync->fence) {
|
||||
/* Why did it fail? DRI doesn't return an error code, so we emit
|
||||
* a generic EGL error that doesn't communicate user error.
|
||||
*/
|
||||
_eglError(EGL_BAD_ALLOC, "eglCreateSyncKHR");
|
||||
free(dri2_sync);
|
||||
return NULL;
|
||||
}
|
||||
break;
|
||||
|
||||
case EGL_SYNC_CL_EVENT_KHR:
|
||||
dri2_sync->fence = dri2_dpy->fence->get_fence_from_cl_event(
|
||||
dri2_dpy->dri_screen,
|
||||
dri2_sync->base.CLEvent);
|
||||
/* this can only happen if the cl_event passed in is invalid. */
|
||||
if (!dri2_sync->fence) {
|
||||
_eglError(EGL_BAD_ATTRIBUTE, "eglCreateSyncKHR");
|
||||
free(dri2_sync);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* the initial status must be "signaled" if the cl_event is signaled */
|
||||
if (dri2_dpy->fence->client_wait_sync(dri2_ctx->dri_context,
|
||||
dri2_sync->fence, 0, 0))
|
||||
dri2_sync->base.SyncStatus = EGL_SIGNALED_KHR;
|
||||
break;
|
||||
}
|
||||
|
||||
p_atomic_set(&dri2_sync->refcount, 1);
|
||||
return &dri2_sync->base;
|
||||
}
|
||||
|
||||
static EGLBoolean
|
||||
dri2_destroy_sync(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSync *sync)
|
||||
{
|
||||
struct dri2_egl_display *dri2_dpy = dri2_egl_display(dpy);
|
||||
struct dri2_egl_sync *dri2_sync = dri2_egl_sync(sync);
|
||||
|
||||
dri2_egl_unref_sync(dri2_dpy, dri2_sync);
|
||||
return EGL_TRUE;
|
||||
}
|
||||
|
||||
static EGLint
|
||||
dri2_client_wait_sync(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSync *sync,
|
||||
EGLint flags, EGLTimeKHR timeout)
|
||||
{
|
||||
_EGLContext *ctx = _eglGetCurrentContext();
|
||||
struct dri2_egl_display *dri2_dpy = dri2_egl_display(dpy);
|
||||
struct dri2_egl_context *dri2_ctx = dri2_egl_context(ctx);
|
||||
struct dri2_egl_sync *dri2_sync = dri2_egl_sync(sync);
|
||||
unsigned wait_flags = 0;
|
||||
EGLint ret = EGL_CONDITION_SATISFIED_KHR;
|
||||
|
||||
if (flags & EGL_SYNC_FLUSH_COMMANDS_BIT_KHR)
|
||||
wait_flags |= __DRI2_FENCE_FLAG_FLUSH_COMMANDS;
|
||||
|
||||
/* the sync object should take a reference while waiting */
|
||||
dri2_egl_ref_sync(dri2_sync);
|
||||
|
||||
if (dri2_dpy->fence->client_wait_sync(dri2_ctx->dri_context,
|
||||
dri2_sync->fence, wait_flags,
|
||||
timeout))
|
||||
dri2_sync->base.SyncStatus = EGL_SIGNALED_KHR;
|
||||
else
|
||||
ret = EGL_TIMEOUT_EXPIRED_KHR;
|
||||
|
||||
dri2_egl_unref_sync(dri2_dpy, dri2_sync);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static EGLint
|
||||
dri2_server_wait_sync(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSync *sync)
|
||||
{
|
||||
_EGLContext *ctx = _eglGetCurrentContext();
|
||||
struct dri2_egl_display *dri2_dpy = dri2_egl_display(dpy);
|
||||
struct dri2_egl_context *dri2_ctx = dri2_egl_context(ctx);
|
||||
struct dri2_egl_sync *dri2_sync = dri2_egl_sync(sync);
|
||||
|
||||
dri2_dpy->fence->server_wait_sync(dri2_ctx->dri_context,
|
||||
dri2_sync->fence, 0);
|
||||
return EGL_TRUE;
|
||||
}
|
||||
|
||||
static void
|
||||
dri2_unload(_EGLDriver *drv)
|
||||
{
|
||||
@@ -2421,11 +2178,9 @@ _eglBuiltInDriverDRI2(const char *args)
|
||||
dri2_drv->base.API.CreateImageKHR = dri2_create_image;
|
||||
dri2_drv->base.API.DestroyImageKHR = dri2_destroy_image_khr;
|
||||
dri2_drv->base.API.CreateWaylandBufferFromImageWL = dri2_create_wayland_buffer_from_image;
|
||||
#ifdef HAVE_LIBDRM
|
||||
#ifdef HAVE_DRM_PLATFORM
|
||||
dri2_drv->base.API.CreateDRMImageMESA = dri2_create_drm_image_mesa;
|
||||
dri2_drv->base.API.ExportDRMImageMESA = dri2_export_drm_image_mesa;
|
||||
dri2_drv->base.API.ExportDMABUFImageQueryMESA = dri2_export_dma_buf_image_query_mesa;
|
||||
dri2_drv->base.API.ExportDMABUFImageMESA = dri2_export_dma_buf_image_mesa;
|
||||
#endif
|
||||
#ifdef HAVE_WAYLAND_PLATFORM
|
||||
dri2_drv->base.API.BindWaylandDisplayWL = dri2_bind_wayland_display_wl;
|
||||
@@ -2433,10 +2188,6 @@ _eglBuiltInDriverDRI2(const char *args)
|
||||
dri2_drv->base.API.QueryWaylandBufferWL = dri2_query_wayland_buffer_wl;
|
||||
#endif
|
||||
dri2_drv->base.API.GetSyncValuesCHROMIUM = dri2_get_sync_values_chromium;
|
||||
dri2_drv->base.API.CreateSyncKHR = dri2_create_sync;
|
||||
dri2_drv->base.API.ClientWaitSyncKHR = dri2_client_wait_sync;
|
||||
dri2_drv->base.API.WaitSyncKHR = dri2_server_wait_sync;
|
||||
dri2_drv->base.API.DestroySyncKHR = dri2_destroy_sync;
|
||||
|
||||
dri2_drv->base.Name = "DRI2";
|
||||
dri2_drv->base.Unload = dri2_unload;
|
||||
|
@@ -28,8 +28,6 @@
|
||||
#ifndef EGL_DRI2_INCLUDED
|
||||
#define EGL_DRI2_INCLUDED
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#ifdef HAVE_X11_PLATFORM
|
||||
#include <xcb/xcb.h>
|
||||
#include <xcb/dri2.h>
|
||||
@@ -74,7 +72,6 @@
|
||||
#include "egllog.h"
|
||||
#include "eglsurface.h"
|
||||
#include "eglimage.h"
|
||||
#include "eglsync.h"
|
||||
|
||||
#define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0]))
|
||||
|
||||
@@ -165,7 +162,6 @@ struct dri2_egl_display
|
||||
const __DRIimageExtension *image;
|
||||
const __DRIrobustnessExtension *robustness;
|
||||
const __DRI2configQueryExtension *config;
|
||||
const __DRI2fenceExtension *fence;
|
||||
int fd;
|
||||
|
||||
int own_device;
|
||||
@@ -196,13 +192,10 @@ struct dri2_egl_display
|
||||
struct wl_registry *wl_registry;
|
||||
struct wl_drm *wl_server_drm;
|
||||
struct wl_drm *wl_drm;
|
||||
struct wl_shm *wl_shm;
|
||||
struct wl_event_queue *wl_queue;
|
||||
int authenticated;
|
||||
int formats;
|
||||
uint32_t capabilities;
|
||||
int is_render_node;
|
||||
int is_different_gpu;
|
||||
#endif
|
||||
};
|
||||
|
||||
@@ -256,11 +249,6 @@ struct dri2_egl_surface
|
||||
#ifdef HAVE_WAYLAND_PLATFORM
|
||||
struct wl_buffer *wl_buffer;
|
||||
__DRIimage *dri_image;
|
||||
/* for is_different_gpu case. NULL else */
|
||||
__DRIimage *linear_copy;
|
||||
/* for swrast */
|
||||
void *data;
|
||||
int data_size;
|
||||
#endif
|
||||
#ifdef HAVE_DRM_PLATFORM
|
||||
struct gbm_bo *bo;
|
||||
@@ -293,12 +281,6 @@ struct dri2_egl_image
|
||||
__DRIimage *dri_image;
|
||||
};
|
||||
|
||||
struct dri2_egl_sync {
|
||||
_EGLSync base;
|
||||
int refcount;
|
||||
void *fence;
|
||||
};
|
||||
|
||||
/* From xmlpool/options.h, user exposed so should be stable */
|
||||
#define DRI_CONF_VBLANK_NEVER 0
|
||||
#define DRI_CONF_VBLANK_DEF_INTERVAL_0 1
|
||||
@@ -308,7 +290,6 @@ struct dri2_egl_sync {
|
||||
/* standard typecasts */
|
||||
_EGL_DRIVER_STANDARD_TYPECASTS(dri2_egl)
|
||||
_EGL_DRIVER_TYPECAST(dri2_egl_image, _EGLImage, obj)
|
||||
_EGL_DRIVER_TYPECAST(dri2_egl_sync, _EGLSync, obj)
|
||||
|
||||
extern const __DRIimageLookupExtension image_lookup_extension;
|
||||
extern const __DRIuseInvalidateExtension use_invalidate;
|
||||
@@ -351,7 +332,4 @@ dri2_initialize_wayland(_EGLDriver *drv, _EGLDisplay *disp);
|
||||
EGLBoolean
|
||||
dri2_initialize_android(_EGLDriver *drv, _EGLDisplay *disp);
|
||||
|
||||
void
|
||||
dri2_flush_drawable_for_swapbuffers(_EGLDisplay *disp, _EGLSurface *draw);
|
||||
|
||||
#endif /* EGL_DRI2_INCLUDED */
|
||||
|
@@ -45,15 +45,6 @@ dri2_fallback_create_pbuffer_surface(_EGLDriver *drv, _EGLDisplay *disp,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static inline _EGLImage*
|
||||
dri2_fallback_create_image_khr(_EGLDriver *drv, _EGLDisplay *disp,
|
||||
_EGLContext *ctx, EGLenum target,
|
||||
EGLClientBuffer buffer,
|
||||
const EGLint *attr_list)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static inline EGLBoolean
|
||||
dri2_fallback_swap_interval(_EGLDriver *drv, _EGLDisplay *dpy,
|
||||
_EGLSurface *surf, EGLint interval)
|
||||
|
@@ -311,7 +311,7 @@ droid_swap_buffers(_EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *draw)
|
||||
dri2_drv->glFlush();
|
||||
}
|
||||
|
||||
dri2_flush_drawable_for_swapbuffers(disp, draw);
|
||||
(*dri2_dpy->flush->flush)(dri2_surf->dri_drawable);
|
||||
|
||||
if (dri2_surf->buffer)
|
||||
droid_window_enqueue_buffer(dri2_surf);
|
||||
|
@@ -25,7 +25,6 @@
|
||||
* Kristian Høgsberg <krh@bitplanet.net>
|
||||
*/
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
@@ -432,7 +431,7 @@ dri2_drm_swap_buffers(_EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *draw)
|
||||
dri2_surf->back = NULL;
|
||||
}
|
||||
|
||||
dri2_flush_drawable_for_swapbuffers(disp, draw);
|
||||
(*dri2_dpy->flush->flush)(dri2_surf->dri_drawable);
|
||||
(*dri2_dpy->flush->invalidate)(dri2_surf->dri_drawable);
|
||||
}
|
||||
|
||||
@@ -669,21 +668,15 @@ dri2_initialize_drm(_EGLDriver *drv, _EGLDisplay *disp)
|
||||
|
||||
for (i = 0; dri2_dpy->driver_configs[i]; i++) {
|
||||
EGLint format, attr_list[3];
|
||||
unsigned int red, alpha;
|
||||
unsigned int mask;
|
||||
|
||||
dri2_dpy->core->getConfigAttrib(dri2_dpy->driver_configs[i],
|
||||
__DRI_ATTRIB_RED_MASK, &red);
|
||||
dri2_dpy->core->getConfigAttrib(dri2_dpy->driver_configs[i],
|
||||
__DRI_ATTRIB_ALPHA_MASK, &alpha);
|
||||
if (red == 0x3ff00000 && alpha == 0x00000000)
|
||||
__DRI_ATTRIB_RED_MASK, &mask);
|
||||
if (mask == 0x3ff00000)
|
||||
format = GBM_FORMAT_XRGB2101010;
|
||||
else if (red == 0x3ff00000 && alpha == 0xc0000000)
|
||||
format = GBM_FORMAT_ARGB2101010;
|
||||
else if (red == 0x00ff0000 && alpha == 0x00000000)
|
||||
else if (mask == 0x00ff0000)
|
||||
format = GBM_FORMAT_XRGB8888;
|
||||
else if (red == 0x00ff0000 && alpha == 0xff000000)
|
||||
format = GBM_FORMAT_ARGB8888;
|
||||
else if (red == 0xf800)
|
||||
else if (mask == 0xf800)
|
||||
format = GBM_FORMAT_RGB565;
|
||||
else
|
||||
continue;
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -26,7 +26,6 @@
|
||||
*/
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
@@ -273,25 +272,7 @@ dri2_x11_create_surface(_EGLDriver *drv, _EGLDisplay *disp, EGLint type,
|
||||
}
|
||||
|
||||
if (dri2_dpy->dri2) {
|
||||
xcb_void_cookie_t cookie;
|
||||
int conn_error;
|
||||
|
||||
cookie = xcb_dri2_create_drawable_checked(dri2_dpy->conn,
|
||||
dri2_surf->drawable);
|
||||
error = xcb_request_check(dri2_dpy->conn, cookie);
|
||||
conn_error = xcb_connection_has_error(dri2_dpy->conn);
|
||||
if (conn_error || error != NULL) {
|
||||
if (type == EGL_PBUFFER_BIT || conn_error || error->error_code == BadAlloc)
|
||||
_eglError(EGL_BAD_ALLOC, "xcb_dri2_create_drawable_checked");
|
||||
else if (type == EGL_WINDOW_BIT)
|
||||
_eglError(EGL_BAD_NATIVE_WINDOW,
|
||||
"xcb_dri2_create_drawable_checked");
|
||||
else
|
||||
_eglError(EGL_BAD_NATIVE_PIXMAP,
|
||||
"xcb_dri2_create_drawable_checked");
|
||||
free(error);
|
||||
goto cleanup_dri_drawable;
|
||||
}
|
||||
xcb_dri2_create_drawable (dri2_dpy->conn, dri2_surf->drawable);
|
||||
} else {
|
||||
if (type == EGL_PBUFFER_BIT) {
|
||||
dri2_surf->depth = _eglGetConfigKey(conf, EGL_BUFFER_SIZE);
|
||||
@@ -792,7 +773,8 @@ dri2_x11_swap_buffers_msc(_EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *draw,
|
||||
if (draw->SwapBehavior == EGL_BUFFER_PRESERVED || !dri2_dpy->swap_available)
|
||||
return dri2_copy_region(drv, disp, draw, dri2_surf->region) ? 0 : -1;
|
||||
|
||||
dri2_flush_drawable_for_swapbuffers(disp, draw);
|
||||
if (dri2_dpy->flush)
|
||||
(*dri2_dpy->flush->flush)(dri2_surf->dri_drawable);
|
||||
|
||||
cookie = xcb_dri2_swap_buffers_unchecked(dri2_dpy->conn, dri2_surf->drawable,
|
||||
msc_hi, msc_lo, divisor_hi, divisor_lo, remainder_hi, remainder_lo);
|
||||
@@ -1035,6 +1017,15 @@ dri2_x11_create_image_khr(_EGLDriver *drv, _EGLDisplay *disp,
|
||||
}
|
||||
}
|
||||
|
||||
static _EGLImage*
|
||||
dri2_x11_swrast_create_image_khr(_EGLDriver *drv, _EGLDisplay *disp,
|
||||
_EGLContext *ctx, EGLenum target,
|
||||
EGLClientBuffer buffer,
|
||||
const EGLint *attr_list)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static EGLBoolean
|
||||
dri2_x11_get_sync_values(_EGLDisplay *display, _EGLSurface *surface,
|
||||
EGLuint64KHR *ust, EGLuint64KHR *msc,
|
||||
@@ -1067,7 +1058,7 @@ static struct dri2_egl_display_vtbl dri2_x11_swrast_display_vtbl = {
|
||||
.create_pixmap_surface = dri2_x11_create_pixmap_surface,
|
||||
.create_pbuffer_surface = dri2_x11_create_pbuffer_surface,
|
||||
.destroy_surface = dri2_x11_destroy_surface,
|
||||
.create_image = dri2_fallback_create_image_khr,
|
||||
.create_image = dri2_x11_swrast_create_image_khr,
|
||||
.swap_interval = dri2_fallback_swap_interval,
|
||||
.swap_buffers = dri2_x11_swap_buffers,
|
||||
.swap_buffers_region = dri2_fallback_swap_buffers_region,
|
||||
@@ -1130,7 +1121,7 @@ dri2_initialize_x11_swrast(_EGLDriver *drv, _EGLDisplay *disp)
|
||||
goto cleanup_conn;
|
||||
|
||||
dri2_dpy->swrast_loader_extension.base.name = __DRI_SWRAST_LOADER;
|
||||
dri2_dpy->swrast_loader_extension.base.version = 2;
|
||||
dri2_dpy->swrast_loader_extension.base.version = __DRI_SWRAST_LOADER_VERSION;
|
||||
dri2_dpy->swrast_loader_extension.getDrawableInfo = swrastGetDrawableInfo;
|
||||
dri2_dpy->swrast_loader_extension.putImage = swrastPutImage;
|
||||
dri2_dpy->swrast_loader_extension.getImage = swrastGetImage;
|
||||
@@ -1301,6 +1292,11 @@ dri2_initialize_x11_dri2(_EGLDriver *drv, _EGLDisplay *disp)
|
||||
|
||||
dri2_x11_setup_swap_interval(dri2_dpy);
|
||||
|
||||
if (dri2_dpy->conn) {
|
||||
if (!dri2_x11_add_configs_for_visuals(dri2_dpy, disp))
|
||||
goto cleanup_configs;
|
||||
}
|
||||
|
||||
disp->Extensions.KHR_image_pixmap = EGL_TRUE;
|
||||
disp->Extensions.NOK_swap_region = EGL_TRUE;
|
||||
disp->Extensions.NOK_texture_from_pixmap = EGL_TRUE;
|
||||
|
@@ -1,34 +0,0 @@
|
||||
Import('*')
|
||||
|
||||
env = env.Clone()
|
||||
|
||||
env.Append(CPPDEFINES = [
|
||||
'DEFAULT_DRIVER_DIR=\\"\\"',
|
||||
])
|
||||
|
||||
env.Append(CPPPATH = [
|
||||
'#/include',
|
||||
'#/src/egl/main',
|
||||
'#/src/loader',
|
||||
])
|
||||
|
||||
sources = [
|
||||
'egl_haiku.cpp'
|
||||
]
|
||||
|
||||
if env['platform'] == 'haiku':
|
||||
env.Append(CPPDEFINES = [
|
||||
'HAVE_HAIKU_PLATFORM',
|
||||
'_EGL_NATIVE_PLATFORM=haiku',
|
||||
])
|
||||
|
||||
env.Prepend(LIBS = [
|
||||
libloader,
|
||||
])
|
||||
|
||||
egl_haiku = env.ConvenienceLibrary(
|
||||
target = 'egl_haiku',
|
||||
source = sources,
|
||||
)
|
||||
|
||||
Export('egl_haiku')
|
@@ -1,435 +0,0 @@
|
||||
/*
|
||||
* Mesa 3-D graphics library
|
||||
*
|
||||
* Copyright (C) 2014 Adrián Arroyo Calle <adrian.arroyocalle@gmail.com>
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the "Software"),
|
||||
* to deal in the Software without restriction, including without limitation
|
||||
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
* and/or sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included
|
||||
* in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
* DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include <errno.h>
|
||||
#include <dlfcn.h>
|
||||
#include <stdint.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include "loader.h"
|
||||
#include "eglconfig.h"
|
||||
#include "eglcontext.h"
|
||||
#include "egldisplay.h"
|
||||
#include "egldriver.h"
|
||||
#include "eglcurrent.h"
|
||||
#include "egllog.h"
|
||||
#include "eglsurface.h"
|
||||
#include "eglimage.h"
|
||||
#include "egltypedefs.h"
|
||||
|
||||
#include <InterfaceKit.h>
|
||||
#include <OpenGLKit.h>
|
||||
|
||||
|
||||
#define CALLOC_STRUCT(T) (struct T *) calloc(1, sizeof(struct T))
|
||||
|
||||
|
||||
_EGL_DRIVER_STANDARD_TYPECASTS(haiku_egl)
|
||||
|
||||
|
||||
struct haiku_egl_driver
|
||||
{
|
||||
_EGLDriver base;
|
||||
|
||||
void *handle;
|
||||
_EGLProc (*get_proc_address)(const char *procname);
|
||||
void (*glFlush)(void);
|
||||
};
|
||||
|
||||
struct haiku_egl_config
|
||||
{
|
||||
_EGLConfig base;
|
||||
};
|
||||
|
||||
struct haiku_egl_context
|
||||
{
|
||||
_EGLContext ctx;
|
||||
};
|
||||
|
||||
struct haiku_egl_surface
|
||||
{
|
||||
_EGLSurface surf;
|
||||
BGLView* gl;
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
static void
|
||||
swrastCreateDrawable(struct dri2_egl_display * dri2_dpy,
|
||||
struct dri2_egl_surface * dri2_surf, int depth)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
swrastDestroyDrawable(struct dri2_egl_display * dri2_dpy,
|
||||
struct dri2_egl_surface * dri2_surf)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
swrastGetDrawableInfo(__DRIdrawable * draw, int *x, int *y,
|
||||
int *w, int *h, void *loaderPrivate)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
swrastPutImage(__DRIdrawable * draw, int op, int x, int y,
|
||||
int w, int h, char *data, void *loaderPrivate)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
swrastGetImage(__DRIdrawable * read, int x, int y,
|
||||
int w, int h, char *data, void *loaderPrivate)
|
||||
{
|
||||
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
static void
|
||||
haiku_log(EGLint level, const char *msg)
|
||||
{
|
||||
switch (level) {
|
||||
case _EGL_DEBUG:
|
||||
fprintf(stderr,"%s", msg);
|
||||
break;
|
||||
case _EGL_INFO:
|
||||
fprintf(stderr,"%s", msg);
|
||||
break;
|
||||
case _EGL_WARNING:
|
||||
fprintf(stderr,"%s", msg);
|
||||
break;
|
||||
case _EGL_FATAL:
|
||||
fprintf(stderr,"%s", msg);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Called via eglCreateWindowSurface(), drv->API.CreateWindowSurface().
|
||||
*/
|
||||
static _EGLSurface *
|
||||
haiku_create_surface(_EGLDriver *drv, _EGLDisplay *disp, EGLint type,
|
||||
_EGLConfig *conf, void *native_surface, const EGLint *attrib_list)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Called via eglCreateWindowSurface(), drv->API.CreateWindowSurface().
|
||||
*/
|
||||
static _EGLSurface *
|
||||
haiku_create_window_surface(_EGLDriver *drv, _EGLDisplay *disp,
|
||||
_EGLConfig *conf, void *native_window, const EGLint *attrib_list)
|
||||
{
|
||||
struct haiku_egl_surface* surface;
|
||||
surface = (struct haiku_egl_surface*)calloc(1,sizeof (*surface));
|
||||
|
||||
_eglInitSurface(&surface->surf, disp, EGL_WINDOW_BIT, conf, attrib_list);
|
||||
(&surface->surf)->SwapInterval = 1;
|
||||
|
||||
_eglLog(_EGL_DEBUG, "Creating window");
|
||||
BWindow* win = (BWindow*)native_window;
|
||||
|
||||
_eglLog(_EGL_DEBUG, "Creating GL view");
|
||||
surface->gl = new BGLView(win->Bounds(), "OpenGL", B_FOLLOW_ALL_SIDES, 0,
|
||||
BGL_RGB | BGL_DOUBLE | BGL_ALPHA);
|
||||
|
||||
_eglLog(_EGL_DEBUG, "Adding GL");
|
||||
win->AddChild(surface->gl);
|
||||
|
||||
_eglLog(_EGL_DEBUG, "Showing window");
|
||||
win->Show();
|
||||
return &surface->surf;
|
||||
}
|
||||
|
||||
|
||||
static _EGLSurface *
|
||||
haiku_create_pixmap_surface(_EGLDriver *drv, _EGLDisplay *disp,
|
||||
_EGLConfig *conf, void *native_pixmap, const EGLint *attrib_list)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
static _EGLSurface *
|
||||
haiku_create_pbuffer_surface(_EGLDriver *drv, _EGLDisplay *disp,
|
||||
_EGLConfig *conf, const EGLint *attrib_list)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
static EGLBoolean
|
||||
haiku_destroy_surface(_EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *surf)
|
||||
{
|
||||
return EGL_TRUE;
|
||||
}
|
||||
|
||||
|
||||
static EGLBoolean
|
||||
haiku_add_configs_for_visuals(_EGLDisplay *dpy)
|
||||
{
|
||||
printf("Adding configs\n");
|
||||
|
||||
struct haiku_egl_config* conf;
|
||||
conf = CALLOC_STRUCT(haiku_egl_config);
|
||||
|
||||
_eglInitConfig(&conf->base, dpy, 1);
|
||||
_eglLog(_EGL_DEBUG,"Config inited\n");
|
||||
_eglSetConfigKey(&conf->base, EGL_RED_SIZE, 8);
|
||||
_eglSetConfigKey(&conf->base, EGL_BLUE_SIZE, 8);
|
||||
_eglSetConfigKey(&conf->base, EGL_GREEN_SIZE, 8);
|
||||
_eglSetConfigKey(&conf->base, EGL_LUMINANCE_SIZE, 0);
|
||||
_eglSetConfigKey(&conf->base, EGL_ALPHA_SIZE, 8);
|
||||
_eglSetConfigKey(&conf->base, EGL_COLOR_BUFFER_TYPE, EGL_RGB_BUFFER);
|
||||
EGLint r = (_eglGetConfigKey(&conf->base, EGL_RED_SIZE)
|
||||
+ _eglGetConfigKey(&conf->base, EGL_GREEN_SIZE)
|
||||
+ _eglGetConfigKey(&conf->base, EGL_BLUE_SIZE)
|
||||
+ _eglGetConfigKey(&conf->base, EGL_ALPHA_SIZE));
|
||||
_eglSetConfigKey(&conf->base, EGL_BUFFER_SIZE, r);
|
||||
_eglSetConfigKey(&conf->base, EGL_CONFIG_CAVEAT, EGL_NONE);
|
||||
_eglSetConfigKey(&conf->base, EGL_CONFIG_ID, 1);
|
||||
_eglSetConfigKey(&conf->base, EGL_BIND_TO_TEXTURE_RGB, EGL_FALSE);
|
||||
_eglSetConfigKey(&conf->base, EGL_BIND_TO_TEXTURE_RGBA, EGL_FALSE);
|
||||
_eglSetConfigKey(&conf->base, EGL_STENCIL_SIZE, 0);
|
||||
_eglSetConfigKey(&conf->base, EGL_TRANSPARENT_TYPE, EGL_NONE);
|
||||
_eglSetConfigKey(&conf->base, EGL_NATIVE_RENDERABLE, EGL_TRUE); // Let's say yes
|
||||
_eglSetConfigKey(&conf->base, EGL_NATIVE_VISUAL_ID, 0); // No visual
|
||||
_eglSetConfigKey(&conf->base, EGL_NATIVE_VISUAL_TYPE, EGL_NONE); // No visual
|
||||
_eglSetConfigKey(&conf->base, EGL_RENDERABLE_TYPE, 0x8);
|
||||
_eglSetConfigKey(&conf->base, EGL_SAMPLE_BUFFERS, 0); // TODO: How to get the right value ?
|
||||
_eglSetConfigKey(&conf->base, EGL_SAMPLES, _eglGetConfigKey(&conf->base, EGL_SAMPLE_BUFFERS) == 0 ? 0 : 0);
|
||||
_eglSetConfigKey(&conf->base, EGL_DEPTH_SIZE, 24); // TODO: How to get the right value ?
|
||||
_eglSetConfigKey(&conf->base, EGL_LEVEL, 0);
|
||||
_eglSetConfigKey(&conf->base, EGL_MAX_PBUFFER_WIDTH, 0); // TODO: How to get the right value ?
|
||||
_eglSetConfigKey(&conf->base, EGL_MAX_PBUFFER_HEIGHT, 0); // TODO: How to get the right value ?
|
||||
_eglSetConfigKey(&conf->base, EGL_MAX_PBUFFER_PIXELS, 0); // TODO: How to get the right value ?
|
||||
_eglSetConfigKey(&conf->base, EGL_SURFACE_TYPE, EGL_WINDOW_BIT /*| EGL_PIXMAP_BIT | EGL_PBUFFER_BIT*/);
|
||||
|
||||
printf("Config configuated\n");
|
||||
if (!_eglValidateConfig(&conf->base, EGL_FALSE)) {
|
||||
_eglLog(_EGL_DEBUG, "Haiku failed to validate config");
|
||||
return EGL_FALSE;
|
||||
}
|
||||
printf("Validated config\n");
|
||||
|
||||
_eglLinkConfig(&conf->base);
|
||||
if (!_eglGetArraySize(dpy->Configs)) {
|
||||
_eglLog(_EGL_WARNING, "Haiku: failed to create any config");
|
||||
return EGL_FALSE;
|
||||
}
|
||||
printf("Config successful!\n");
|
||||
|
||||
return EGL_TRUE;
|
||||
}
|
||||
|
||||
extern "C"
|
||||
EGLBoolean
|
||||
init_haiku(_EGLDriver *drv, _EGLDisplay *dpy)
|
||||
{
|
||||
_eglLog(_EGL_DEBUG,"\nInitializing Haiku EGL\n");
|
||||
//_EGLDisplay* egl_dpy;
|
||||
|
||||
printf("Initializing Haiku EGL\n");
|
||||
_eglSetLogProc(haiku_log);
|
||||
|
||||
loader_set_logger(_eglLog);
|
||||
|
||||
/*egl_dpy = (_EGLDisplay*) calloc(1, sizeof(_EGLDisplay));
|
||||
if (!egl_dpy)
|
||||
return _eglError(EGL_BAD_ALLOC, "eglInitialize");
|
||||
|
||||
dpy->DriverData=(void*) egl_dpy;
|
||||
if (!dpy->PlatformDisplay) {
|
||||
// OPEN DEVICE
|
||||
//dri2_dpy->bwindow = (void*)haiku_create_window();
|
||||
//dri2_dpy->own_device = true;
|
||||
} else {
|
||||
//dri2_dpy->bwindow = (BWindow*)dpy->PlatformDisplay;
|
||||
}*/
|
||||
|
||||
//dri2_dpy->driver_name = strdup("swrast");
|
||||
//if (!dri2_load_driver_swrast(dpy))
|
||||
// goto cleanup_conn;
|
||||
|
||||
/*dri2_dpy->swrast_loader_extension.base.name = __DRI_SWRAST_LOADER;
|
||||
dri2_dpy->swrast_loader_extension.base.version = __DRI_SWRAST_LOADER_VERSION;
|
||||
dri2_dpy->swrast_loader_extension.getDrawableInfo = swrastGetDrawableInfo;
|
||||
dri2_dpy->swrast_loader_extension.putImage = swrastPutImage;
|
||||
dri2_dpy->swrast_loader_extension.getImage = swrastGetImage;
|
||||
|
||||
dri2_dpy->extensions[0] = &dri2_dpy->swrast_loader_extension.base;
|
||||
dri2_dpy->extensions[1] = NULL;
|
||||
dri2_dpy->extensions[2] = NULL;*/
|
||||
|
||||
/*if (dri2_dpy->bwindow) {
|
||||
if (!dri2_haiku_add_configs_for_visuals(dri2_dpy, dpy))
|
||||
goto cleanup_configs;
|
||||
}*/
|
||||
_eglLog(_EGL_DEBUG,"Add configs");
|
||||
haiku_add_configs_for_visuals(dpy);
|
||||
|
||||
dpy->VersionMajor=1;
|
||||
dpy->VersionMinor=4;
|
||||
|
||||
//dpy->Extensions.KHR_create_context = true;
|
||||
|
||||
//dri2_dpy->vtbl = &dri2_haiku_display_vtbl;
|
||||
_eglLog(_EGL_DEBUG, "Initialization finished");
|
||||
|
||||
return EGL_TRUE;
|
||||
}
|
||||
|
||||
|
||||
extern "C"
|
||||
EGLBoolean
|
||||
haiku_terminate(_EGLDriver* drv,_EGLDisplay* dpy)
|
||||
{
|
||||
return EGL_TRUE;
|
||||
}
|
||||
|
||||
|
||||
extern "C"
|
||||
_EGLContext*
|
||||
haiku_create_context(_EGLDriver *drv, _EGLDisplay *disp, _EGLConfig *conf,
|
||||
_EGLContext *share_list, const EGLint *attrib_list)
|
||||
{
|
||||
_eglLog(_EGL_DEBUG,"Creating context");
|
||||
struct haiku_egl_context* context;
|
||||
context=(struct haiku_egl_context*)calloc(1,sizeof (*context));
|
||||
if(!_eglInitContext(&context->ctx, disp, conf, attrib_list))
|
||||
printf("ERROR creating context");
|
||||
_eglLog(_EGL_DEBUG, "Context created");
|
||||
return &context->ctx;
|
||||
}
|
||||
|
||||
|
||||
extern "C"
|
||||
EGLBoolean
|
||||
haiku_destroy_context(_EGLDriver* drv, _EGLDisplay *disp, _EGLContext* ctx)
|
||||
{
|
||||
ctx=NULL;
|
||||
return EGL_TRUE;
|
||||
}
|
||||
|
||||
|
||||
extern "C"
|
||||
EGLBoolean
|
||||
haiku_make_current(_EGLDriver* drv, _EGLDisplay* dpy, _EGLSurface *dsurf,
|
||||
_EGLSurface *rsurf, _EGLContext *ctx)
|
||||
{
|
||||
struct haiku_egl_context* cont=haiku_egl_context(ctx);
|
||||
struct haiku_egl_surface* surf=haiku_egl_surface(dsurf);
|
||||
_EGLContext *old_ctx;
|
||||
_EGLSurface *old_dsurf, *old_rsurf;
|
||||
_eglBindContext(ctx, dsurf, rsurf, &old_ctx, &old_dsurf, &old_rsurf);
|
||||
//cont->ctx.DrawSurface=&surf->surf;
|
||||
surf->gl->LockGL();
|
||||
return EGL_TRUE;
|
||||
}
|
||||
|
||||
|
||||
extern "C"
|
||||
EGLBoolean
|
||||
haiku_swap_buffers(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *surf)
|
||||
{
|
||||
struct haiku_egl_surface* surface=haiku_egl_surface(surf);
|
||||
surface->gl->SwapBuffers();
|
||||
//gl->Render();
|
||||
return EGL_TRUE;
|
||||
}
|
||||
|
||||
|
||||
extern "C"
|
||||
void
|
||||
haiku_unload(_EGLDriver* drv)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* This is the main entrypoint into the driver, called by libEGL.
|
||||
* Create a new _EGLDriver object and init its dispatch table.
|
||||
*/
|
||||
extern "C"
|
||||
_EGLDriver*
|
||||
_eglBuiltInDriverHaiku(const char *args)
|
||||
{
|
||||
_eglLog(_EGL_DEBUG,"Driver loaded");
|
||||
struct haiku_egl_driver* driver;
|
||||
driver=(struct haiku_egl_driver*)calloc(1,sizeof(*driver));
|
||||
_eglInitDriverFallbacks(&driver->base);
|
||||
driver->base.API.Initialize = init_haiku;
|
||||
driver->base.API.Terminate = haiku_terminate;
|
||||
driver->base.API.CreateContext = haiku_create_context;
|
||||
driver->base.API.DestroyContext = haiku_destroy_context;
|
||||
driver->base.API.MakeCurrent = haiku_make_current;
|
||||
driver->base.API.CreateWindowSurface = haiku_create_window_surface;
|
||||
driver->base.API.CreatePixmapSurface = haiku_create_pixmap_surface;
|
||||
driver->base.API.CreatePbufferSurface = haiku_create_pbuffer_surface;
|
||||
driver->base.API.DestroySurface = haiku_destroy_surface;
|
||||
/*
|
||||
driver->API.GetProcAddress = dri2_get_proc_address;
|
||||
driver->API.WaitClient = dri2_wait_client;
|
||||
driver->API.WaitNative = dri2_wait_native;
|
||||
driver->API.BindTexImage = dri2_bind_tex_image;
|
||||
driver->API.ReleaseTexImage = dri2_release_tex_image;
|
||||
driver->API.SwapInterval = dri2_swap_interval;
|
||||
*/
|
||||
|
||||
driver->base.API.SwapBuffers = haiku_swap_buffers;
|
||||
/*
|
||||
driver->API.SwapBuffersWithDamageEXT = dri2_swap_buffers_with_damage;
|
||||
driver->API.SwapBuffersRegionNOK = dri2_swap_buffers_region;
|
||||
driver->API.PostSubBufferNV = dri2_post_sub_buffer;
|
||||
driver->API.CopyBuffers = dri2_copy_buffers,
|
||||
driver->API.QueryBufferAge = dri2_query_buffer_age;
|
||||
driver->API.CreateImageKHR = dri2_create_image;
|
||||
driver->API.DestroyImageKHR = dri2_destroy_image_khr;
|
||||
driver->API.CreateWaylandBufferFromImageWL = dri2_create_wayland_buffer_from_image;
|
||||
driver->API.GetSyncValuesCHROMIUM = dri2_get_sync_values_chromium;
|
||||
*/
|
||||
|
||||
driver->base.Name = "Haiku";
|
||||
driver->base.Unload = haiku_unload;
|
||||
|
||||
_eglLog(_EGL_DEBUG, "API Calls defined");
|
||||
|
||||
return &driver->base;
|
||||
}
|
@@ -73,6 +73,8 @@ endif # MESA_BUILD_CLASSIC
|
||||
|
||||
ifeq ($(strip $(MESA_BUILD_GALLIUM)),true)
|
||||
|
||||
LOCAL_CFLAGS += -D_EGL_BUILT_IN_DRIVER_GALLIUM
|
||||
|
||||
gallium_DRIVERS :=
|
||||
|
||||
# swrast
|
||||
@@ -154,11 +156,7 @@ LOCAL_STATIC_LIBRARIES := \
|
||||
libmesa_loader
|
||||
|
||||
LOCAL_MODULE := libGLES_mesa
|
||||
ifeq ($(MESA_LOLLIPOP_BUILD),true)
|
||||
LOCAL_MODULE_RELATIVE_PATH := egl
|
||||
else
|
||||
LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/egl
|
||||
endif
|
||||
|
||||
include $(MESA_COMMON_MK)
|
||||
include $(BUILD_SHARED_LIBRARY)
|
||||
|
@@ -64,6 +64,10 @@ AM_CFLAGS += -DHAVE_DRM_PLATFORM
|
||||
libEGL_la_LIBADD += ../../gbm/libgbm.la
|
||||
endif
|
||||
|
||||
if HAVE_EGL_PLATFORM_FBDEV
|
||||
AM_CFLAGS += -DHAVE_FBDEV_PLATFORM
|
||||
endif
|
||||
|
||||
if HAVE_EGL_PLATFORM_NULL
|
||||
AM_CFLAGS += -DHAVE_NULL_PLATFORM
|
||||
endif
|
||||
@@ -91,8 +95,3 @@ egl_HEADERS = \
|
||||
$(top_srcdir)/include/EGL/eglextchromium.h \
|
||||
$(top_srcdir)/include/EGL/eglmesaext.h \
|
||||
$(top_srcdir)/include/EGL/eglplatform.h
|
||||
|
||||
EXTRA_DIST = \
|
||||
egl.def \
|
||||
README.txt \
|
||||
SConscript
|
||||
|
@@ -22,6 +22,13 @@ LIBEGL_C_FILES := \
|
||||
eglimage.h \
|
||||
egllog.c \
|
||||
egllog.h \
|
||||
eglmisc.c \
|
||||
eglmisc.h \
|
||||
eglmode.c \
|
||||
eglmode.h \
|
||||
eglmutex.h \
|
||||
eglscreen.c \
|
||||
eglscreen.h \
|
||||
eglstring.c \
|
||||
eglstring.h \
|
||||
eglsurface.c \
|
||||
|
@@ -16,10 +16,10 @@ The EGL code here basically consists of two things:
|
||||
|
||||
Bootstrapping:
|
||||
|
||||
When the apps calls eglInitialize() a device driver is selected and loaded
|
||||
(look for _eglAddDrivers() and _eglLoadModule() in egldriver.c).
|
||||
When the apps calls eglOpenDisplay() a device driver is selected and loaded
|
||||
(look for dlsym() or LoadLibrary() in egldriver.c).
|
||||
|
||||
The built-in driver's entry point function is then called. This driver function
|
||||
The driver's _eglMain() function is then called. This driver function
|
||||
allocates, initializes and returns a new _EGLDriver object (usually a
|
||||
subclass of that type).
|
||||
|
||||
@@ -30,9 +30,10 @@ driver->API.Initialize and driver->API.Terminate _must_ be implemented
|
||||
with driver-specific code (no default/fallback function is possible).
|
||||
|
||||
|
||||
Shortly after, the driver->API.Initialize() function is executed. Any additional
|
||||
driver initialization that wasn't done in the driver entry point should be
|
||||
done at this point. Typically, this will involve setting up visual configs, etc.
|
||||
A bit later, the app will call eglInitialize(). This will get routed
|
||||
to the driver->API.Initialize() function. Any additional driver
|
||||
initialization that wasn't done in _eglMain() should be done at this
|
||||
point. Typically, this will involve setting up visual configs, etc.
|
||||
|
||||
|
||||
|
||||
|
@@ -7,46 +7,33 @@ Import('*')
|
||||
env = env.Clone()
|
||||
|
||||
env.Append(CPPDEFINES = [
|
||||
'_EGL_BUILT_IN_DRIVER_GALLIUM',
|
||||
'_EGL_DRIVER_SEARCH_DIR=\\"\\"',
|
||||
])
|
||||
|
||||
if env['platform'] == 'haiku':
|
||||
if env['platform'] == 'windows':
|
||||
env.Append(CPPDEFINES = [
|
||||
'_EGL_NATIVE_PLATFORM=_EGL_PLATFORM_HAIKU',
|
||||
'_EGL_OS_UNIX',
|
||||
'_EGL_BUILT_IN_DRIVER_HAIKU',
|
||||
])
|
||||
env.Prepend(LIBS = [
|
||||
egl_haiku,
|
||||
libloader,
|
||||
'_EGL_NATIVE_PLATFORM=_EGL_PLATFORM_WINDOWS',
|
||||
'_EGL_OS_WINDOWS',
|
||||
'_EGL_GET_CORE_ADDRESSES',
|
||||
'KHRONOS_DLL_EXPORTS',
|
||||
])
|
||||
else:
|
||||
env.Append(CPPDEFINES = [
|
||||
'_EGL_NATIVE_PLATFORM=_EGL_PLATFORM_X11',
|
||||
'_EGL_OS_UNIX',
|
||||
])
|
||||
if env['dri']:
|
||||
env.Prepend(LIBS = [
|
||||
egl_dri2,
|
||||
libloader,
|
||||
])
|
||||
# Disallow undefined symbols
|
||||
if env['platform'] != 'darwin':
|
||||
env.Append(SHLINKFLAGS = ['-Wl,-z,defs'])
|
||||
|
||||
env.Append(CPPPATH = [
|
||||
'#/include',
|
||||
])
|
||||
|
||||
|
||||
# parse Makefile.sources
|
||||
egl_sources = env.ParseSourceList('Makefile.sources', 'LIBEGL_C_FILES')
|
||||
|
||||
egl = env.SharedLibrary(
|
||||
target = 'EGL',
|
||||
egl = env.ConvenienceLibrary(
|
||||
target = 'egl',
|
||||
source = egl_sources,
|
||||
)
|
||||
|
||||
egl = env.InstallSharedLibrary(egl, version=(1, 0, 0))
|
||||
|
||||
env.Alias('egl', egl)
|
||||
Export('egl')
|
||||
|
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user