diff options
author | Nicolai Hähnle <[email protected]> | 2017-06-30 11:57:06 +0200 |
---|---|---|
committer | Nicolai Hähnle <[email protected]> | 2017-07-31 15:38:41 +0200 |
commit | 601093f95ddf6b49a79baa91dc51d4f163dfc8de (patch) | |
tree | 79cc7388e4d4de45d226852368ffcc813098b577 /src/mesa/drivers/dri/common | |
parent | 1e40d2c8820e2045fbfed387a93a486c8b1c94fd (diff) |
xmlconfig: move into src/util
v2: attempt to fix Android build (Emil)
v3: add missing include path
Reviewed-by: Marek Olšák <[email protected]> (v1)
Diffstat (limited to 'src/mesa/drivers/dri/common')
21 files changed, 9 insertions, 4375 deletions
diff --git a/src/mesa/drivers/dri/common/Android.mk b/src/mesa/drivers/dri/common/Android.mk index 8a21e630325..573189d88f6 100644 --- a/src/mesa/drivers/dri/common/Android.mk +++ b/src/mesa/drivers/dri/common/Android.mk @@ -44,53 +44,7 @@ LOCAL_EXPORT_C_INCLUDE_DIRS := \ $(intermediates) LOCAL_SRC_FILES := \ - $(DRI_COMMON_FILES) \ - $(XMLCONFIG_FILES) - -MESA_DRI_OPTIONS_H := $(intermediates)/xmlpool/options.h -LOCAL_GENERATED_SOURCES := $(MESA_DRI_OPTIONS_H) - -# -# Generate options.h from gettext translations. -# - -MESA_DRI_OPTIONS_LANGS := de es nl fr sv -POT := $(intermediates)/xmlpool.pot - -$(POT): $(LOCAL_PATH)/xmlpool/t_options.h - @mkdir -p $(dir $@) - xgettext -L C --from-code utf-8 -o $@ $< - -$(intermediates)/xmlpool/%.po: $(LOCAL_PATH)/xmlpool/%.po $(POT) - lang=$(basename $(notdir $@)); \ - mkdir -p $(dir $@); \ - if [ -f $< ]; then \ - msgmerge -o $@ $^; \ - else \ - msginit -i $(POT) \ - -o $@ \ - --locale=$$lang \ - --no-translator; \ - sed -i -e 's/charset=.*\\n/charset=UTF-8\\n/' $@; \ - fi - -PRIVATE_SCRIPT := $(LOCAL_PATH)/xmlpool/gen_xmlpool.py -PRIVATE_LOCALEDIR := $(intermediates)/xmlpool -PRIVATE_TEMPLATE_HEADER := $(LOCAL_PATH)/xmlpool/t_options.h -PRIVATE_MO_FILES := $(MESA_DRI_OPTIONS_LANGS:%=$(intermediates)/xmlpool/%/LC_MESSAGES/options.mo) - -LOCAL_GENERATED_SOURCES += $(PRIVATE_MO_FILES) - -$(PRIVATE_MO_FILES): $(intermediates)/xmlpool/%/LC_MESSAGES/options.mo: $(intermediates)/xmlpool/%.po - mkdir -p $(dir $@) - msgfmt -o $@ $< - -$(LOCAL_GENERATED_SOURCES): PRIVATE_PYTHON := $(MESA_PYTHON2) -$(LOCAL_GENERATED_SOURCES): PRIVATE_CUSTOM_TOOL = $(PRIVATE_PYTHON) $^ $(PRIVATE_TEMPLATE_HEADER) \ - $(PRIVATE_LOCALEDIR) $(MESA_DRI_OPTIONS_LANGS) > $@ - -$(MESA_DRI_OPTIONS_H): $(PRIVATE_SCRIPT) $(PRIVATE_TEMPLATE_HEADER) $(PRIVATE_MO_FILES) - $(transform-generated-source) + $(DRI_COMMON_FILES) include $(MESA_COMMON_MK) include $(BUILD_STATIC_LIBRARY) diff --git a/src/mesa/drivers/dri/common/Makefile.am b/src/mesa/drivers/dri/common/Makefile.am index c85c470a2fb..f26cc069381 100644 --- a/src/mesa/drivers/dri/common/Makefile.am +++ b/src/mesa/drivers/dri/common/Makefile.am @@ -19,11 +19,9 @@ # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS # IN THE SOFTWARE. -SUBDIRS = xmlpool - include Makefile.sources -EXTRA_DIST = drirc xmlpool.h SConscript +EXTRA_DIST = SConscript AM_CFLAGS = \ -I$(top_srcdir)/include \ @@ -32,22 +30,15 @@ AM_CFLAGS = \ -I$(top_srcdir)/src/mesa/ \ -I$(top_srcdir)/src/gallium/include \ -I$(top_srcdir)/src/gallium/auxiliary \ + -I$(top_builddir)/src/util/ \ $(LIBDRM_CFLAGS) \ $(DEFINES) \ - -DSYSCONFDIR=\"$(sysconfdir)\" \ $(VISIBILITY_CFLAGS) noinst_LTLIBRARIES = \ libdricommon.la \ - libxmlconfig.la \ libmegadriver_stub.la libdricommon_la_SOURCES = $(DRI_COMMON_FILES) -libxmlconfig_la_SOURCES = $(XMLCONFIG_FILES) -libxmlconfig_la_CFLAGS = $(AM_CFLAGS) $(EXPAT_CFLAGS) -libxmlconfig_la_LIBADD = $(EXPAT_LIBS) -lm - libmegadriver_stub_la_SOURCES = $(megadriver_stub_FILES) - -sysconf_DATA = drirc diff --git a/src/mesa/drivers/dri/common/Makefile.sources b/src/mesa/drivers/dri/common/Makefile.sources index 9d3cdd38ff0..d592e99b879 100644 --- a/src/mesa/drivers/dri/common/Makefile.sources +++ b/src/mesa/drivers/dri/common/Makefile.sources @@ -4,10 +4,6 @@ DRI_COMMON_FILES := \ dri_util.c \ dri_util.h -XMLCONFIG_FILES := \ - xmlconfig.c \ - xmlconfig.h - # Paths are relative to MESA_TOP. mesa_dri_common_INCLUDES := \ include \ @@ -15,7 +11,8 @@ mesa_dri_common_INCLUDES := \ src/egl/main \ src/mapi \ src/mesa \ - src/mesa/drivers/dri/common + src/mesa/drivers/dri/common \ + src/util megadriver_stub_FILES := \ megadriver_stub.c diff --git a/src/mesa/drivers/dri/common/SConscript b/src/mesa/drivers/dri/common/SConscript index 52d201f8913..06afecede34 100644 --- a/src/mesa/drivers/dri/common/SConscript +++ b/src/mesa/drivers/dri/common/SConscript @@ -7,7 +7,6 @@ drienv = env.Clone() drienv.Replace(CPPPATH = [ '#src/mesa/drivers/dri/common', - xmlpool_options.dir.dir, # Dir to generated xmlpool/options.h '#include', '#include/GL/internal', '#src', @@ -26,13 +25,10 @@ drienv.Replace(CPPPATH = [ '#src/mesa/swrast_setup', '#src/egl/main', '#src/egl/drivers/dri', + '#src/util', ]) -drienv.AppendUnique(LIBS = [ - 'expat', -]) - -sources = drienv.ParseSourceList('Makefile.sources', ['DRI_COMMON_FILES', 'XMLCONFIG_FILES' ]) +sources = drienv.ParseSourceList('Makefile.sources', ['DRI_COMMON_FILES']) dri_common = drienv.ConvenienceLibrary( target = 'dri_common', diff --git a/src/mesa/drivers/dri/common/dri_util.c b/src/mesa/drivers/dri/common/dri_util.c index bfae0209d18..39ecaf0658a 100644 --- a/src/mesa/drivers/dri/common/dri_util.c +++ b/src/mesa/drivers/dri/common/dri_util.c @@ -42,7 +42,7 @@ #include <stdbool.h> #include "dri_util.h" #include "utils.h" -#include "xmlpool.h" +#include "util/xmlpool.h" #include "main/mtypes.h" #include "main/framebuffer.h" #include "main/version.h" diff --git a/src/mesa/drivers/dri/common/dri_util.h b/src/mesa/drivers/dri/common/dri_util.h index 3e1ce624c7b..25a3ae47a23 100644 --- a/src/mesa/drivers/dri/common/dri_util.h +++ b/src/mesa/drivers/dri/common/dri_util.h @@ -56,7 +56,7 @@ #include <GL/gl.h> #include <GL/internal/dri_interface.h> #include "main/mtypes.h" -#include "xmlconfig.h" +#include "util/xmlconfig.h" #include <stdbool.h> /** diff --git a/src/mesa/drivers/dri/common/drirc b/src/mesa/drivers/dri/common/drirc deleted file mode 100644 index 30ac9c839be..00000000000 --- a/src/mesa/drivers/dri/common/drirc +++ /dev/null @@ -1,220 +0,0 @@ -<!-- - -============================================ -Application bugs worked around in this file: -============================================ - -* Unigine Heaven 3.0 and older contain too many bugs and can't be supported - by drivers that want to be compliant. - -* Various Unigine products don't use the #version and #extension GLSL - directives, meaning they only get GLSL 1.10 and no extensions for their - shaders. - Enabling all extensions for Unigine fixes most issues, but the GLSL version - is still 1.10. - -* If ARB_sample_shading is supported, Unigine Heaven 4.0 and Valley 1.0 uses - an #extension directive in the middle of its shaders, which is illegal - in GLSL. - -* Dying Light and Dead Island Definitive Edition redeclare vertex shader - built-ins (specifically gl_VertexID), which causes the vertex shaders to fail - to compile. - -TODO: document the other workarounds. - ---> - -<driconf> - <!-- Please always enable app-specific workarounds for all drivers and - screens. --> - <device> - <application name="Unigine Sanctuary" executable="Sanctuary"> - <option name="force_glsl_extensions_warn" value="true" /> - <option name="disable_blend_func_extended" value="true" /> - </application> - - <application name="Unigine Tropics" executable="Tropics"> - <option name="force_glsl_extensions_warn" value="true" /> - <option name="disable_blend_func_extended" value="true" /> - </application> - - <application name="Unigine Heaven (32-bit)" executable="heaven_x86"> - <option name="allow_glsl_extension_directive_midshader" value="true" /> - <!-- remove dual_color_blend_by_location if 4.1 ever comes out --> - <option name="dual_color_blend_by_location" value="true" /> - </application> - - <application name="Unigine Heaven (64-bit)" executable="heaven_x64"> - <option name="allow_glsl_extension_directive_midshader" value="true" /> - <!-- remove dual_color_blend_by_location if 4.1 ever comes out --> - <option name="dual_color_blend_by_location" value="true" /> - </application> - - <application name="Unigine Valley (32-bit)" executable="valley_x86"> - <option name="allow_glsl_extension_directive_midshader" value="true" /> - <!-- remove dual_color_blend_by_location if 1.1 ever comes out --> - <option name="dual_color_blend_by_location" value="true" /> - </application> - - <application name="Unigine Valley (64-bit)" executable="valley_x64"> - <option name="allow_glsl_extension_directive_midshader" value="true" /> - <!-- remove dual_color_blend_by_location if 1.1 ever comes out --> - <option name="dual_color_blend_by_location" value="true" /> - </application> - - <application name="Unigine OilRush (32-bit)" executable="OilRush_x86"> - <option name="disable_blend_func_extended" value="true" /> - <option name="allow_glsl_extension_directive_midshader" value="true" /> - </application> - - <application name="Unigine OilRush (64-bit)" executable="OilRush_x64"> - <option name="disable_blend_func_extended" value="true" /> - <option name="allow_glsl_extension_directive_midshader" value="true" /> - </application> - - <application name="Savage 2" executable="savage2.bin"> - <option name="disable_glsl_line_continuations" value="true" /> - </application> - - <application name="Topogun (32-bit)" executable="topogun32"> - <option name="always_have_depth_buffer" value="true" /> - </application> - - <application name="Topogun (64-bit)" executable="topogun64"> - <option name="always_have_depth_buffer" value="true" /> - </application> - - <application name="Dead Island (incl. Definitive Edition)" executable="DeadIslandGame"> - <option name="allow_glsl_extension_directive_midshader" value="true" /> - - <!-- For the Definitive Edition which shares the same executable name --> - <option name="allow_glsl_builtin_variable_redeclaration" value="true" /> - </application> - - <application name="Dead Island Riptide Definitive Edition" executable="DeadIslandRiptideGame"> - <option name="allow_glsl_builtin_variable_redeclaration" value="true" /> - </application> - - <application name="Dying Light" executable="DyingLightGame"> - <option name="allow_glsl_builtin_variable_redeclaration" value="true" /> - </application> - - <application name="Second Life" executable="do-not-directly-run-secondlife-bin"> - <option name="allow_glsl_extension_directive_midshader" value="true" /> - </application> - - <application name="Warsow (32-bit)" executable="warsow.i386"> - <option name="allow_glsl_extension_directive_midshader" value="true" /> - </application> - - <application name="Warsow (64-bit)" executable="warsow.x86_64"> - <option name="allow_glsl_extension_directive_midshader" value="true" /> - </application> - - <application name="Rust" executable="rust"> - <option name="glsl_zero_init" value="true"/> - </application> - - <application name="Divinity: Original Sin Enhanced Edition" executable="EoCApp"> - <option name="allow_glsl_extension_directive_midshader" value="true" /> - </application> - - <application name="Worms W.M.D" executable="Worms W.M.Dx64"> - <option name="allow_higher_compat_version" value="true" /> - </application> - - <application name="Crookz - The Big Heist" executable="Crookz"> - <option name="allow_higher_compat_version" value="true" /> - </application> - - <application name="Tropico 5" executable="Tropico5"> - <option name="allow_higher_compat_version" value="true" /> - </application> - - <application name="The Culling" executable="Victory"> - <option name="force_glsl_version" value="440" /> - </application> - - <application name="Spec Ops: The Line (32-bit)" executable="specops.i386"> - <option name="force_glsl_abs_sqrt" value="true" /> - </application> - - <application name="Spec Ops: The Line (64-bit)" executable="specops"> - <option name="force_glsl_abs_sqrt" value="true" /> - </application> - - <application name="Kerbal Space Program (32-bit)" executable="KSP.x86"> - <option name="glsl_zero_init" value="true"/> - </application> - - <application name="Kerbal Space Program (64-bit)" executable="KSP.x86_64"> - <option name="glsl_zero_init" value="true"/> - </application> - - <application name="Rocket League" executable="RocketLeague"> - <option name="glsl_correct_derivatives_after_discard" value="true"/> - </application> - - <application name="The Witcher 2" executable="witcher2"> - <option name="glsl_correct_derivatives_after_discard" value="true"/> - </application> - - <!-- The GL thread whitelist is below, workarounds are above. - Keep it that way. --> - - <application name="Alien Isolation" executable="AlienIsolation"> - <option name="mesa_glthread" value="true"/> - </application> - <application name="Civilization 6" executable="Civ6"> - <option name="mesa_glthread" value="true"/> - </application> - <application name="BioShock Infinite" executable="bioshock.i386"> - <option name="mesa_glthread" value="true"/> - </application> - <application name="Borderlands 2" executable="Borderlands2"> - <option name="mesa_glthread" value="true"/> - </application> - <application name="Civilization 5" executable="Civ5XP"> - <option name="mesa_glthread" value="true"/> - </application> - <application name="The Witcher 2" executable="witcher2"> - <option name="mesa_glthread" value="true"/> - </application> - <application name="American Truck Simulator" executable="amtrucks"> - <option name="mesa_glthread" value="true"/> - </application> - <application name="Euro Truck Simulator 2" executable="eurotrucks2"> - <option name="mesa_glthread" value="true"/> - </application> - <application name="Overlord" executable="overlord.i386"> - <option name="mesa_glthread" value="true"/> - </application> - <application name="Overlord 2" executable="overlord2.i386"> - <option name="mesa_glthread" value="true"/> - </application> - <application name="Oil Rush" executable="OilRush_x86"> - <option name="mesa_glthread" value="true"/> - </application> - <application name="War Thunder" executable="aces"> - <option name="mesa_glthread" value="true"/> - </application> - <application name="Saints Row 2" executable="saintsrow2.i386"> - <option name="mesa_glthread" value="true"/> - </application> - <application name="War Thunder (Wine)" executable="aces.exe"> - <option name="mesa_glthread" value="true"/> - </application> - </device> - <!-- vmwgfx doesn't like full buffer swaps and can't sync to vertical retraces.--> - <device driver="vmwgfx"> - <application name="gnome-shell" executable="gnome-shell"> - <option name="glx_disable_ext_buffer_age" value="true" /> - <option name="glx_disable_oml_sync_control" value="true" /> - </application> - <application name="Compiz" executable="Compiz"> - <option name="glx_disable_ext_buffer_age" value="true" /> - <option name="glx_disable_oml_sync_control" value="true" /> - </application> - </device> -</driconf> diff --git a/src/mesa/drivers/dri/common/xmlconfig.c b/src/mesa/drivers/dri/common/xmlconfig.c deleted file mode 100644 index d3f47ecda0c..00000000000 --- a/src/mesa/drivers/dri/common/xmlconfig.c +++ /dev/null @@ -1,1113 +0,0 @@ -/* - * XML DRI client-side driver configuration - * Copyright (C) 2003 Felix Kuehling - * - * 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 - * FELIX KUEHLING, OR ANY OTHER CONTRIBUTORS 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. - * - */ -/** - * \file xmlconfig.c - * \brief Driver-independent client-side part of the XML configuration - * \author Felix Kuehling - */ - -#include <stdarg.h> -#include <stdio.h> -#include <string.h> -#include <assert.h> -#include <expat.h> -#include <fcntl.h> -#include <math.h> -#include <unistd.h> -#include <errno.h> -#include "xmlconfig.h" - -#undef GET_PROGRAM_NAME - -#if (defined(__GNU_LIBRARY__) || defined(__GLIBC__)) && !defined(__UCLIBC__) -# if !defined(__GLIBC__) || (__GLIBC__ < 2) -/* These aren't declared in any libc5 header */ -extern char *program_invocation_name, *program_invocation_short_name; -# endif -# define GET_PROGRAM_NAME() program_invocation_short_name -#elif defined(__CYGWIN__) -# define GET_PROGRAM_NAME() program_invocation_short_name -#elif defined(__FreeBSD__) && (__FreeBSD__ >= 2) -# include <osreldate.h> -# if (__FreeBSD_version >= 440000) -# include <stdlib.h> -# define GET_PROGRAM_NAME() getprogname() -# endif -#elif defined(__NetBSD__) && defined(__NetBSD_Version__) && (__NetBSD_Version__ >= 106000100) -# include <stdlib.h> -# define GET_PROGRAM_NAME() getprogname() -#elif defined(__DragonFly__) -# include <stdlib.h> -# define GET_PROGRAM_NAME() getprogname() -#elif defined(__APPLE__) -# include <stdlib.h> -# define GET_PROGRAM_NAME() getprogname() -#elif defined(__sun) -/* Solaris has getexecname() which returns the full path - return just - the basename to match BSD getprogname() */ -# include <stdlib.h> -# include <libgen.h> - -static const char * -__getProgramName() -{ - static const char *progname; - - if (progname == NULL) { - const char *e = getexecname(); - if (e != NULL) { - /* Have to make a copy since getexecname can return a readonly - string, but basename expects to be able to modify its arg. */ - char *n = strdup(e); - if (n != NULL) { - progname = basename(n); - } - } - } - return progname; -} - -# define GET_PROGRAM_NAME() __getProgramName() -#endif - -#if !defined(GET_PROGRAM_NAME) -# if defined(__OpenBSD__) || defined(NetBSD) || defined(__UCLIBC__) || defined(ANDROID) -/* This is a hack. It's said to work on OpenBSD, NetBSD and GNU. - * Rogelio M.Serrano Jr. reported it's also working with UCLIBC. It's - * used as a last resort, if there is no documented facility available. */ -static const char * -__getProgramName() -{ - extern const char *__progname; - char * arg = strrchr(__progname, '/'); - if (arg) - return arg+1; - else - return __progname; -} -# define GET_PROGRAM_NAME() __getProgramName() -# else -# define GET_PROGRAM_NAME() "" -# warning "Per application configuration won't work with your OS version." -# endif -#endif - -/** \brief Find an option in an option cache with the name as key */ -static uint32_t -findOption(const driOptionCache *cache, const char *name) -{ - uint32_t len = strlen (name); - uint32_t size = 1 << cache->tableSize, mask = size - 1; - uint32_t hash = 0; - uint32_t i, shift; - - /* compute a hash from the variable length name */ - for (i = 0, shift = 0; i < len; ++i, shift = (shift+8) & 31) - hash += (uint32_t)name[i] << shift; - hash *= hash; - hash = (hash >> (16-cache->tableSize/2)) & mask; - - /* this is just the starting point of the linear search for the option */ - for (i = 0; i < size; ++i, hash = (hash+1) & mask) { - /* if we hit an empty entry then the option is not defined (yet) */ - if (cache->info[hash].name == 0) - break; - else if (!strcmp (name, cache->info[hash].name)) - break; - } - /* this assertion fails if the hash table is full */ - assert (i < size); - - return hash; -} - -/** \brief Like strdup but using malloc and with error checking. */ -#define XSTRDUP(dest,source) do { \ - uint32_t len = strlen (source); \ - if (!(dest = malloc(len+1))) { \ - fprintf (stderr, "%s: %d: out of memory.\n", __FILE__, __LINE__); \ - abort(); \ - } \ - memcpy (dest, source, len+1); \ -} while (0) - -static int compare (const void *a, const void *b) { - return strcmp (*(char *const*)a, *(char *const*)b); -} -/** \brief Binary search in a string array. */ -static uint32_t -bsearchStr (const XML_Char *name, const XML_Char *elems[], uint32_t count) -{ - const XML_Char **found; - found = bsearch (&name, elems, count, sizeof (XML_Char *), compare); - if (found) - return found - elems; - else - return count; -} - -/** \brief Locale-independent integer parser. - * - * Works similar to strtol. Leading space is NOT skipped. The input - * number may have an optional sign. Radix is specified by base. If - * base is 0 then decimal is assumed unless the input number is - * prefixed by 0x or 0X for hexadecimal or 0 for octal. After - * returning tail points to the first character that is not part of - * the integer number. If no number was found then tail points to the - * start of the input string. */ -static int -strToI(const XML_Char *string, const XML_Char **tail, int base) -{ - int radix = base == 0 ? 10 : base; - int result = 0; - int sign = 1; - bool numberFound = false; - const XML_Char *start = string; - - assert (radix >= 2 && radix <= 36); - - if (*string == '-') { - sign = -1; - string++; - } else if (*string == '+') - string++; - if (base == 0 && *string == '0') { - numberFound = true; - if (*(string+1) == 'x' || *(string+1) == 'X') { - radix = 16; - string += 2; - } else { - radix = 8; - string++; - } - } - do { - int digit = -1; - if (radix <= 10) { - if (*string >= '0' && *string < '0' + radix) - digit = *string - '0'; - } else { - if (*string >= '0' && *string <= '9') - digit = *string - '0'; - else if (*string >= 'a' && *string < 'a' + radix - 10) - digit = *string - 'a' + 10; - else if (*string >= 'A' && *string < 'A' + radix - 10) - digit = *string - 'A' + 10; - } - if (digit != -1) { - numberFound = true; - result = radix*result + digit; - string++; - } else - break; - } while (true); - *tail = numberFound ? string : start; - return sign * result; -} - -/** \brief Locale-independent floating-point parser. - * - * Works similar to strtod. Leading space is NOT skipped. The input - * number may have an optional sign. '.' is interpreted as decimal - * point and may occur at most once. Optionally the number may end in - * [eE]<exponent>, where <exponent> is an integer as recognized by - * strToI. In that case the result is number * 10^exponent. After - * returning tail points to the first character that is not part of - * the floating point number. If no number was found then tail points - * to the start of the input string. - * - * Uses two passes for maximum accuracy. */ -static float -strToF(const XML_Char *string, const XML_Char **tail) -{ - int nDigits = 0, pointPos, exponent; - float sign = 1.0f, result = 0.0f, scale; - const XML_Char *start = string, *numStart; - - /* sign */ - if (*string == '-') { - sign = -1.0f; - string++; - } else if (*string == '+') - string++; - - /* first pass: determine position of decimal point, number of - * digits, exponent and the end of the number. */ - numStart = string; - while (*string >= '0' && *string <= '9') { - string++; - nDigits++; - } - pointPos = nDigits; - if (*string == '.') { - string++; - while (*string >= '0' && *string <= '9') { - string++; - nDigits++; - } - } - if (nDigits == 0) { - /* no digits, no number */ - *tail = start; - return 0.0f; - } - *tail = string; - if (*string == 'e' || *string == 'E') { - const XML_Char *expTail; - exponent = strToI (string+1, &expTail, 10); - if (expTail == string+1) - exponent = 0; - else - *tail = expTail; - } else - exponent = 0; - string = numStart; - - /* scale of the first digit */ - scale = sign * (float)pow (10.0, (double)(pointPos-1 + exponent)); - - /* second pass: parse digits */ - do { - if (*string != '.') { - assert (*string >= '0' && *string <= '9'); - result += scale * (float)(*string - '0'); - scale *= 0.1f; - nDigits--; - } - string++; - } while (nDigits > 0); - - return result; -} - -/** \brief Parse a value of a given type. */ -static unsigned char -parseValue(driOptionValue *v, driOptionType type, const XML_Char *string) -{ - const XML_Char *tail = NULL; - /* skip leading white-space */ - string += strspn (string, " \f\n\r\t\v"); - switch (type) { - case DRI_BOOL: - if (!strcmp (string, "false")) { - v->_bool = false; - tail = string + 5; - } else if (!strcmp (string, "true")) { - v->_bool = true; - tail = string + 4; - } - else - return false; - break; - case DRI_ENUM: /* enum is just a special integer */ - case DRI_INT: - v->_int = strToI (string, &tail, 0); - break; - case DRI_FLOAT: - v->_float = strToF (string, &tail); - break; - case DRI_STRING: - free (v->_string); - v->_string = strndup(string, STRING_CONF_MAXLEN); - return true; - } - - if (tail == string) - return false; /* empty string (or containing only white-space) */ - /* skip trailing white space */ - if (*tail) - tail += strspn (tail, " \f\n\r\t\v"); - if (*tail) - return false; /* something left over that is not part of value */ - - return true; -} - -/** \brief Parse a list of ranges of type info->type. */ -static unsigned char -parseRanges(driOptionInfo *info, const XML_Char *string) -{ - XML_Char *cp, *range; - uint32_t nRanges, i; - driOptionRange *ranges; - - XSTRDUP (cp, string); - /* pass 1: determine the number of ranges (number of commas + 1) */ - range = cp; - for (nRanges = 1; *range; ++range) - if (*range == ',') - ++nRanges; - - if ((ranges = malloc(nRanges*sizeof(driOptionRange))) == NULL) { - fprintf (stderr, "%s: %d: out of memory.\n", __FILE__, __LINE__); - abort(); - } - - /* pass 2: parse all ranges into preallocated array */ - range = cp; - for (i = 0; i < nRanges; ++i) { - XML_Char *end, *sep; - assert (range); - end = strchr (range, ','); - if (end) - *end = '\0'; - sep = strchr (range, ':'); - if (sep) { /* non-empty interval */ - *sep = '\0'; - if (!parseValue (&ranges[i].start, info->type, range) || - !parseValue (&ranges[i].end, info->type, sep+1)) - break; - if (info->type == DRI_INT && - ranges[i].start._int > ranges[i].end._int) - break; - if (info->type == DRI_FLOAT && - ranges[i].start._float > ranges[i].end._float) - break; - } else { /* empty interval */ - if (!parseValue (&ranges[i].start, info->type, range)) - break; - ranges[i].end = ranges[i].start; - } - if (end) - range = end+1; - else - range = NULL; - } - free(cp); - if (i < nRanges) { - free(ranges); - return false; - } else - assert (range == NULL); - - info->nRanges = nRanges; - info->ranges = ranges; - return true; -} - -/** \brief Check if a value is in one of info->ranges. */ -static bool -checkValue(const driOptionValue *v, const driOptionInfo *info) -{ - uint32_t i; - assert (info->type != DRI_BOOL); /* should be caught by the parser */ - if (info->nRanges == 0) - return true; - switch (info->type) { - case DRI_ENUM: /* enum is just a special integer */ - case DRI_INT: - for (i = 0; i < info->nRanges; ++i) - if (v->_int >= info->ranges[i].start._int && - v->_int <= info->ranges[i].end._int) - return true; - break; - case DRI_FLOAT: - for (i = 0; i < info->nRanges; ++i) - if (v->_float >= info->ranges[i].start._float && - v->_float <= info->ranges[i].end._float) - return true; - break; - case DRI_STRING: - break; - default: - assert (0); /* should never happen */ - } - return false; -} - -/** - * Print message to \c stderr if the \c LIBGL_DEBUG environment variable - * is set. - * - * Is called from the drivers. - * - * \param f \c printf like format string. - */ -static void -__driUtilMessage(const char *f, ...) -{ - va_list args; - const char *libgl_debug; - - libgl_debug=getenv("LIBGL_DEBUG"); - if (libgl_debug && !strstr(libgl_debug, "quiet")) { - fprintf(stderr, "libGL: "); - va_start(args, f); - vfprintf(stderr, f, args); - va_end(args); - fprintf(stderr, "\n"); - } -} - -/** \brief Output a warning message. */ -#define XML_WARNING1(msg) do {\ - __driUtilMessage ("Warning in %s line %d, column %d: "msg, data->name, \ - (int) XML_GetCurrentLineNumber(data->parser), \ - (int) XML_GetCurrentColumnNumber(data->parser)); \ -} while (0) -#define XML_WARNING(msg,args...) do { \ - __driUtilMessage ("Warning in %s line %d, column %d: "msg, data->name, \ - (int) XML_GetCurrentLineNumber(data->parser), \ - (int) XML_GetCurrentColumnNumber(data->parser), \ - args); \ -} while (0) -/** \brief Output an error message. */ -#define XML_ERROR1(msg) do { \ - __driUtilMessage ("Error in %s line %d, column %d: "msg, data->name, \ - (int) XML_GetCurrentLineNumber(data->parser), \ - (int) XML_GetCurrentColumnNumber(data->parser)); \ -} while (0) -#define XML_ERROR(msg,args...) do { \ - __driUtilMessage ("Error in %s line %d, column %d: "msg, data->name, \ - (int) XML_GetCurrentLineNumber(data->parser), \ - (int) XML_GetCurrentColumnNumber(data->parser), \ - args); \ -} while (0) -/** \brief Output a fatal error message and abort. */ -#define XML_FATAL1(msg) do { \ - fprintf (stderr, "Fatal error in %s line %d, column %d: "msg"\n", \ - data->name, \ - (int) XML_GetCurrentLineNumber(data->parser), \ - (int) XML_GetCurrentColumnNumber(data->parser)); \ - abort();\ -} while (0) -#define XML_FATAL(msg,args...) do { \ - fprintf (stderr, "Fatal error in %s line %d, column %d: "msg"\n", \ - data->name, \ - (int) XML_GetCurrentLineNumber(data->parser), \ - (int) XML_GetCurrentColumnNumber(data->parser), \ - args); \ - abort();\ -} while (0) - -/** \brief Parser context for __driConfigOptions. */ -struct OptInfoData { - const char *name; - XML_Parser parser; - driOptionCache *cache; - bool inDriInfo; - bool inSection; - bool inDesc; - bool inOption; - bool inEnum; - int curOption; -}; - -/** \brief Elements in __driConfigOptions. */ -enum OptInfoElem { - OI_DESCRIPTION = 0, OI_DRIINFO, OI_ENUM, OI_OPTION, OI_SECTION, OI_COUNT -}; -static const XML_Char *OptInfoElems[] = { - "description", "driinfo", "enum", "option", "section" -}; - -/** \brief Parse attributes of an enum element. - * - * We're not actually interested in the data. Just make sure this is ok - * for external configuration tools. - */ -static void -parseEnumAttr(struct OptInfoData *data, const XML_Char **attr) -{ - uint32_t i; - const XML_Char *value = NULL, *text = NULL; - driOptionValue v; - uint32_t opt = data->curOption; - for (i = 0; attr[i]; i += 2) { - if (!strcmp (attr[i], "value")) value = attr[i+1]; - else if (!strcmp (attr[i], "text")) text = attr[i+1]; - else XML_FATAL("illegal enum attribute: %s.", attr[i]); - } - if (!value) XML_FATAL1 ("value attribute missing in enum."); - if (!text) XML_FATAL1 ("text attribute missing in enum."); - if (!parseValue (&v, data->cache->info[opt].type, value)) - XML_FATAL ("illegal enum value: %s.", value); - if (!checkValue (&v, &data->cache->info[opt])) - XML_FATAL ("enum value out of valid range: %s.", value); -} - -/** \brief Parse attributes of a description element. - * - * We're not actually interested in the data. Just make sure this is ok - * for external configuration tools. - */ -static void -parseDescAttr(struct OptInfoData *data, const XML_Char **attr) -{ - uint32_t i; - const XML_Char *lang = NULL, *text = NULL; - for (i = 0; attr[i]; i += 2) { - if (!strcmp (attr[i], "lang")) lang = attr[i+1]; - else if (!strcmp (attr[i], "text")) text = attr[i+1]; - else XML_FATAL("illegal description attribute: %s.", attr[i]); - } - if (!lang) XML_FATAL1 ("lang attribute missing in description."); - if (!text) XML_FATAL1 ("text attribute missing in description."); -} - -/** \brief Parse attributes of an option element. */ -static void -parseOptInfoAttr(struct OptInfoData *data, const XML_Char **attr) -{ - enum OptAttr {OA_DEFAULT = 0, OA_NAME, OA_TYPE, OA_VALID, OA_COUNT}; - static const XML_Char *optAttr[] = {"default", "name", "type", "valid"}; - const XML_Char *attrVal[OA_COUNT] = {NULL, NULL, NULL, NULL}; - const char *defaultVal; - driOptionCache *cache = data->cache; - uint32_t opt, i; - for (i = 0; attr[i]; i += 2) { - uint32_t attrName = bsearchStr (attr[i], optAttr, OA_COUNT); - if (attrName >= OA_COUNT) - XML_FATAL ("illegal option attribute: %s", attr[i]); - attrVal[attrName] = attr[i+1]; - } - if (!attrVal[OA_NAME]) XML_FATAL1 ("name attribute missing in option."); - if (!attrVal[OA_TYPE]) XML_FATAL1 ("type attribute missing in option."); - if (!attrVal[OA_DEFAULT]) XML_FATAL1 ("default attribute missing in option."); - - opt = findOption (cache, attrVal[OA_NAME]); - if (cache->info[opt].name) - XML_FATAL ("option %s redefined.", attrVal[OA_NAME]); - data->curOption = opt; - - XSTRDUP (cache->info[opt].name, attrVal[OA_NAME]); - - if (!strcmp (attrVal[OA_TYPE], "bool")) - cache->info[opt].type = DRI_BOOL; - else if (!strcmp (attrVal[OA_TYPE], "enum")) - cache->info[opt].type = DRI_ENUM; - else if (!strcmp (attrVal[OA_TYPE], "int")) - cache->info[opt].type = DRI_INT; - else if (!strcmp (attrVal[OA_TYPE], "float")) - cache->info[opt].type = DRI_FLOAT; - else if (!strcmp (attrVal[OA_TYPE], "string")) - cache->info[opt].type = DRI_STRING; - else - XML_FATAL ("illegal type in option: %s.", attrVal[OA_TYPE]); - - defaultVal = getenv (cache->info[opt].name); - if (defaultVal != NULL) { - /* don't use XML_WARNING, we want the user to see this! */ - fprintf (stderr, - "ATTENTION: default value of option %s overridden by environment.\n", - cache->info[opt].name); - } else - defaultVal = attrVal[OA_DEFAULT]; - if (!parseValue (&cache->values[opt], cache->info[opt].type, defaultVal)) - XML_FATAL ("illegal default value for %s: %s.", cache->info[opt].name, defaultVal); - - if (attrVal[OA_VALID]) { - if (cache->info[opt].type == DRI_BOOL) - XML_FATAL1 ("boolean option with valid attribute."); - if (!parseRanges (&cache->info[opt], attrVal[OA_VALID])) - XML_FATAL ("illegal valid attribute: %s.", attrVal[OA_VALID]); - if (!checkValue (&cache->values[opt], &cache->info[opt])) - XML_FATAL ("default value out of valid range '%s': %s.", - attrVal[OA_VALID], defaultVal); - } else if (cache->info[opt].type == DRI_ENUM) { - XML_FATAL1 ("valid attribute missing in option (mandatory for enums)."); - } else { - cache->info[opt].nRanges = 0; - cache->info[opt].ranges = NULL; - } -} - -/** \brief Handler for start element events. */ -static void -optInfoStartElem(void *userData, const XML_Char *name, const XML_Char **attr) -{ - struct OptInfoData *data = (struct OptInfoData *)userData; - enum OptInfoElem elem = bsearchStr (name, OptInfoElems, OI_COUNT); - switch (elem) { - case OI_DRIINFO: - if (data->inDriInfo) - XML_FATAL1 ("nested <driinfo> elements."); - if (attr[0]) - XML_FATAL1 ("attributes specified on <driinfo> element."); - data->inDriInfo = true; - break; - case OI_SECTION: - if (!data->inDriInfo) - XML_FATAL1 ("<section> must be inside <driinfo>."); - if (data->inSection) - XML_FATAL1 ("nested <section> elements."); - if (attr[0]) - XML_FATAL1 ("attributes specified on <section> element."); - data->inSection = true; - break; - case OI_DESCRIPTION: - if (!data->inSection && !data->inOption) - XML_FATAL1 ("<description> must be inside <description> or <option."); - if (data->inDesc) - XML_FATAL1 ("nested <description> elements."); - data->inDesc = true; - parseDescAttr (data, attr); - break; - case OI_OPTION: - if (!data->inSection) - XML_FATAL1 ("<option> must be inside <section>."); - if (data->inDesc) - XML_FATAL1 ("<option> nested in <description> element."); - if (data->inOption) - XML_FATAL1 ("nested <option> elements."); - data->inOption = true; - parseOptInfoAttr (data, attr); - break; - case OI_ENUM: - if (!(data->inOption && data->inDesc)) - XML_FATAL1 ("<enum> must be inside <option> and <description>."); - if (data->inEnum) - XML_FATAL1 ("nested <enum> elements."); - data->inEnum = true; - parseEnumAttr (data, attr); - break; - default: - XML_FATAL ("unknown element: %s.", name); - } -} - -/** \brief Handler for end element events. */ -static void -optInfoEndElem(void *userData, const XML_Char *name) -{ - struct OptInfoData *data = (struct OptInfoData *)userData; - enum OptInfoElem elem = bsearchStr (name, OptInfoElems, OI_COUNT); - switch (elem) { - case OI_DRIINFO: - data->inDriInfo = false; - break; - case OI_SECTION: - data->inSection = false; - break; - case OI_DESCRIPTION: - data->inDesc = false; - break; - case OI_OPTION: - data->inOption = false; - break; - case OI_ENUM: - data->inEnum = false; - break; - default: - assert (0); /* should have been caught by StartElem */ - } -} - -void -driParseOptionInfo(driOptionCache *info, const char *configOptions) -{ - XML_Parser p; - int status; - struct OptInfoData userData; - struct OptInfoData *data = &userData; - - /* Make the hash table big enough to fit more than the maximum number of - * config options we've ever seen in a driver. - */ - info->tableSize = 6; - info->info = calloc(1 << info->tableSize, sizeof (driOptionInfo)); - info->values = calloc(1 << info->tableSize, sizeof (driOptionValue)); - if (info->info == NULL || info->values == NULL) { - fprintf (stderr, "%s: %d: out of memory.\n", __FILE__, __LINE__); - abort(); - } - - p = XML_ParserCreate ("UTF-8"); /* always UTF-8 */ - XML_SetElementHandler (p, optInfoStartElem, optInfoEndElem); - XML_SetUserData (p, data); - - userData.name = "__driConfigOptions"; - userData.parser = p; - userData.cache = info; - userData.inDriInfo = false; - userData.inSection = false; - userData.inDesc = false; - userData.inOption = false; - userData.inEnum = false; - userData.curOption = -1; - - status = XML_Parse (p, configOptions, strlen (configOptions), 1); - if (!status) - XML_FATAL ("%s.", XML_ErrorString(XML_GetErrorCode(p))); - - XML_ParserFree (p); -} - -/** \brief Parser context for configuration files. */ -struct OptConfData { - const char *name; - XML_Parser parser; - driOptionCache *cache; - int screenNum; - const char *driverName, *execName; - uint32_t ignoringDevice; - uint32_t ignoringApp; - uint32_t inDriConf; - uint32_t inDevice; - uint32_t inApp; - uint32_t inOption; -}; - -/** \brief Elements in configuration files. */ -enum OptConfElem { - OC_APPLICATION = 0, OC_DEVICE, OC_DRICONF, OC_OPTION, OC_COUNT -}; -static const XML_Char *OptConfElems[] = { - [OC_APPLICATION] = "application", - [OC_DEVICE] = "device", - [OC_DRICONF] = "driconf", - [OC_OPTION] = "option", -}; - -/** \brief Parse attributes of a device element. */ -static void -parseDeviceAttr(struct OptConfData *data, const XML_Char **attr) -{ - uint32_t i; - const XML_Char *driver = NULL, *screen = NULL; - for (i = 0; attr[i]; i += 2) { - if (!strcmp (attr[i], "driver")) driver = attr[i+1]; - else if (!strcmp (attr[i], "screen")) screen = attr[i+1]; - else XML_WARNING("unknown device attribute: %s.", attr[i]); - } - if (driver && strcmp (driver, data->driverName)) - data->ignoringDevice = data->inDevice; - else if (screen) { - driOptionValue screenNum; - if (!parseValue (&screenNum, DRI_INT, screen)) - XML_WARNING("illegal screen number: %s.", screen); - else if (screenNum._int != data->screenNum) - data->ignoringDevice = data->inDevice; - } -} - -/** \brief Parse attributes of an application element. */ -static void -parseAppAttr(struct OptConfData *data, const XML_Char **attr) -{ - uint32_t i; - const XML_Char *exec = NULL; - for (i = 0; attr[i]; i += 2) { - if (!strcmp (attr[i], "name")) /* not needed here */; - else if (!strcmp (attr[i], "executable")) exec = attr[i+1]; - else XML_WARNING("unknown application attribute: %s.", attr[i]); - } - if (exec && strcmp (exec, data->execName)) - data->ignoringApp = data->inApp; -} - -/** \brief Parse attributes of an option element. */ -static void -parseOptConfAttr(struct OptConfData *data, const XML_Char **attr) -{ - uint32_t i; - const XML_Char *name = NULL, *value = NULL; - for (i = 0; attr[i]; i += 2) { - if (!strcmp (attr[i], "name")) name = attr[i+1]; - else if (!strcmp (attr[i], "value")) value = attr[i+1]; - else XML_WARNING("unknown option attribute: %s.", attr[i]); - } - if (!name) XML_WARNING1 ("name attribute missing in option."); - if (!value) XML_WARNING1 ("value attribute missing in option."); - if (name && value) { - driOptionCache *cache = data->cache; - uint32_t opt = findOption (cache, name); - if (cache->info[opt].name == NULL) - /* don't use XML_WARNING, drirc defines options for all drivers, - * but not all drivers support them */ - return; - else if (getenv (cache->info[opt].name)) - /* don't use XML_WARNING, we want the user to see this! */ - fprintf (stderr, "ATTENTION: option value of option %s ignored.\n", - cache->info[opt].name); - else if (!parseValue (&cache->values[opt], cache->info[opt].type, value)) - XML_WARNING ("illegal option value: %s.", value); - } -} - -/** \brief Handler for start element events. */ -static void -optConfStartElem(void *userData, const XML_Char *name, - const XML_Char **attr) -{ - struct OptConfData *data = (struct OptConfData *)userData; - enum OptConfElem elem = bsearchStr (name, OptConfElems, OC_COUNT); - switch (elem) { - case OC_DRICONF: - if (data->inDriConf) - XML_WARNING1 ("nested <driconf> elements."); - if (attr[0]) - XML_WARNING1 ("attributes specified on <driconf> element."); - data->inDriConf++; - break; - case OC_DEVICE: - if (!data->inDriConf) - XML_WARNING1 ("<device> should be inside <driconf>."); - if (data->inDevice) - XML_WARNING1 ("nested <device> elements."); - data->inDevice++; - if (!data->ignoringDevice && !data->ignoringApp) - parseDeviceAttr (data, attr); - break; - case OC_APPLICATION: - if (!data->inDevice) - XML_WARNING1 ("<application> should be inside <device>."); - if (data->inApp) - XML_WARNING1 ("nested <application> elements."); - data->inApp++; - if (!data->ignoringDevice && !data->ignoringApp) - parseAppAttr (data, attr); - break; - case OC_OPTION: - if (!data->inApp) - XML_WARNING1 ("<option> should be inside <application>."); - if (data->inOption) - XML_WARNING1 ("nested <option> elements."); - data->inOption++; - if (!data->ignoringDevice && !data->ignoringApp) - parseOptConfAttr (data, attr); - break; - default: - XML_WARNING ("unknown element: %s.", name); - } -} - -/** \brief Handler for end element events. */ -static void -optConfEndElem(void *userData, const XML_Char *name) -{ - struct OptConfData *data = (struct OptConfData *)userData; - enum OptConfElem elem = bsearchStr (name, OptConfElems, OC_COUNT); - switch (elem) { - case OC_DRICONF: - data->inDriConf--; - break; - case OC_DEVICE: - if (data->inDevice-- == data->ignoringDevice) - data->ignoringDevice = 0; - break; - case OC_APPLICATION: - if (data->inApp-- == data->ignoringApp) - data->ignoringApp = 0; - break; - case OC_OPTION: - data->inOption--; - break; - default: - /* unknown element, warning was produced on start tag */; - } -} - -/** \brief Initialize an option cache based on info */ -static void -initOptionCache(driOptionCache *cache, const driOptionCache *info) -{ - unsigned i, size = 1 << info->tableSize; - cache->info = info->info; - cache->tableSize = info->tableSize; - cache->values = malloc((1<<info->tableSize) * sizeof (driOptionValue)); - if (cache->values == NULL) { - fprintf (stderr, "%s: %d: out of memory.\n", __FILE__, __LINE__); - abort(); - } - memcpy (cache->values, info->values, - (1<<info->tableSize) * sizeof (driOptionValue)); - for (i = 0; i < size; ++i) { - if (cache->info[i].type == DRI_STRING) - XSTRDUP(cache->values[i]._string, info->values[i]._string); - } -} - -/** \brief Parse the named configuration file */ -static void -parseOneConfigFile(XML_Parser p) -{ -#define BUF_SIZE 0x1000 - struct OptConfData *data = (struct OptConfData *)XML_GetUserData (p); - int status; - int fd; - - if ((fd = open (data->name, O_RDONLY)) == -1) { - __driUtilMessage ("Can't open configuration file %s: %s.", - data->name, strerror (errno)); - return; - } - - while (1) { - int bytesRead; - void *buffer = XML_GetBuffer (p, BUF_SIZE); - if (!buffer) { - __driUtilMessage ("Can't allocate parser buffer."); - break; - } - bytesRead = read (fd, buffer, BUF_SIZE); - if (bytesRead == -1) { - __driUtilMessage ("Error reading from configuration file %s: %s.", - data->name, strerror (errno)); - break; - } - status = XML_ParseBuffer (p, bytesRead, bytesRead == 0); - if (!status) { - XML_ERROR ("%s.", XML_ErrorString(XML_GetErrorCode(p))); - break; - } - if (bytesRead == 0) - break; - } - - close (fd); -#undef BUF_SIZE -} - -#ifndef SYSCONFDIR -#define SYSCONFDIR "/etc" -#endif - -void -driParseConfigFiles(driOptionCache *cache, const driOptionCache *info, - int screenNum, const char *driverName) -{ - char *filenames[2] = { SYSCONFDIR "/drirc", NULL}; - char *home; - uint32_t i; - struct OptConfData userData; - - initOptionCache (cache, info); - - userData.cache = cache; - userData.screenNum = screenNum; - userData.driverName = driverName; - userData.execName = GET_PROGRAM_NAME(); - - if ((home = getenv ("HOME"))) { - uint32_t len = strlen (home); - filenames[1] = malloc(len + 7+1); - if (filenames[1] == NULL) - __driUtilMessage ("Can't allocate memory for %s/.drirc.", home); - else { - memcpy (filenames[1], home, len); - memcpy (filenames[1] + len, "/.drirc", 7+1); - } - } - - for (i = 0; i < 2; ++i) { - XML_Parser p; - if (filenames[i] == NULL) - continue; - - p = XML_ParserCreate (NULL); /* use encoding specified by file */ - XML_SetElementHandler (p, optConfStartElem, optConfEndElem); - XML_SetUserData (p, &userData); - userData.parser = p; - userData.name = filenames[i]; - userData.ignoringDevice = 0; - userData.ignoringApp = 0; - userData.inDriConf = 0; - userData.inDevice = 0; - userData.inApp = 0; - userData.inOption = 0; - - parseOneConfigFile (p); - XML_ParserFree (p); - } - - free(filenames[1]); -} - -void -driDestroyOptionInfo(driOptionCache *info) -{ - driDestroyOptionCache(info); - if (info->info) { - uint32_t i, size = 1 << info->tableSize; - for (i = 0; i < size; ++i) { - if (info->info[i].name) { - free(info->info[i].name); - free(info->info[i].ranges); - } - } - free(info->info); - } -} - -void -driDestroyOptionCache(driOptionCache *cache) -{ - if (cache->info) { - unsigned i, size = 1 << cache->tableSize; - for (i = 0; i < size; ++i) { - if (cache->info[i].type == DRI_STRING) - free(cache->values[i]._string); - } - } - free(cache->values); -} - -unsigned char -driCheckOption(const driOptionCache *cache, const char *name, - driOptionType type) -{ - uint32_t i = findOption (cache, name); - return cache->info[i].name != NULL && cache->info[i].type == type; -} - -unsigned char -driQueryOptionb(const driOptionCache *cache, const char *name) -{ - uint32_t i = findOption (cache, name); - /* make sure the option is defined and has the correct type */ - assert (cache->info[i].name != NULL); - assert (cache->info[i].type == DRI_BOOL); - return cache->values[i]._bool; -} - -int -driQueryOptioni(const driOptionCache *cache, const char *name) -{ - uint32_t i = findOption (cache, name); - /* make sure the option is defined and has the correct type */ - assert (cache->info[i].name != NULL); - assert (cache->info[i].type == DRI_INT || cache->info[i].type == DRI_ENUM); - return cache->values[i]._int; -} - -float -driQueryOptionf(const driOptionCache *cache, const char *name) -{ - uint32_t i = findOption (cache, name); - /* make sure the option is defined and has the correct type */ - assert (cache->info[i].name != NULL); - assert (cache->info[i].type == DRI_FLOAT); - return cache->values[i]._float; -} - -char * -driQueryOptionstr(const driOptionCache *cache, const char *name) -{ - uint32_t i = findOption (cache, name); - /* make sure the option is defined and has the correct type */ - assert (cache->info[i].name != NULL); - assert (cache->info[i].type == DRI_STRING); - return cache->values[i]._string; -} diff --git a/src/mesa/drivers/dri/common/xmlconfig.h b/src/mesa/drivers/dri/common/xmlconfig.h deleted file mode 100644 index 77aa14c20e0..00000000000 --- a/src/mesa/drivers/dri/common/xmlconfig.h +++ /dev/null @@ -1,179 +0,0 @@ -/* - * XML DRI client-side driver configuration - * Copyright (C) 2003 Felix Kuehling - * - * 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 - * FELIX KUEHLING, OR ANY OTHER CONTRIBUTORS 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. - * - */ -/** - * \file xmlconfig.h - * \brief Driver-independent client-side part of the XML configuration - * \author Felix Kuehling - */ - -#ifndef __XMLCONFIG_H -#define __XMLCONFIG_H - -#include "util/mesa-sha1.h" -#include "util/ralloc.h" - -#define STRING_CONF_MAXLEN 25 - -/** \brief Option data types */ -typedef enum driOptionType { - DRI_BOOL, DRI_ENUM, DRI_INT, DRI_FLOAT, DRI_STRING -} driOptionType; - -/** \brief Option value */ -typedef union driOptionValue { - unsigned char _bool; /**< \brief Boolean */ - int _int; /**< \brief Integer or Enum */ - float _float; /**< \brief Floating-point */ - char *_string; /**< \brief String */ -} driOptionValue; - -/** \brief Single range of valid values - * - * For empty ranges (a single value) start == end */ -typedef struct driOptionRange { - driOptionValue start; /**< \brief Start */ - driOptionValue end; /**< \brief End */ -} driOptionRange; - -/** \brief Information about an option */ -typedef struct driOptionInfo { - char *name; /**< \brief Name */ - driOptionType type; /**< \brief Type */ - driOptionRange *ranges; /**< \brief Array of ranges */ - unsigned int nRanges; /**< \brief Number of ranges */ -} driOptionInfo; - -/** \brief Option cache - * - * \li One in <driver>Screen caching option info and the default values - * \li One in each <driver>Context with the actual values for that context */ -typedef struct driOptionCache { - driOptionInfo *info; - /**< \brief Array of option infos - * - * Points to the same array in the screen and all contexts */ - driOptionValue *values; - /**< \brief Array of option values - * - * \li Default values in screen - * \li Actual values in contexts - */ - unsigned int tableSize; - /**< \brief Size of the arrays - * - * In the current implementation it's not actually a size but log2(size). - * The value is the same in the screen and all contexts. */ -} driOptionCache; - -/** \brief Parse XML option info from configOptions - * - * To be called in <driver>CreateScreen - * - * \param info pointer to a driOptionCache that will store the option info - * \param configOptions XML document describing available configuration opts - * - * For the option information to be available to external configuration tools - * it must be a public symbol __driConfigOptions. It is also passed as a - * parameter to driParseOptionInfo in order to avoid driver-independent code - * depending on symbols in driver-specific code. */ -void driParseOptionInfo (driOptionCache *info, - const char *configOptions); -/** \brief Initialize option cache from info and parse configuration files - * - * To be called in <driver>CreateContext. screenNum and driverName select - * device sections. */ -void driParseConfigFiles (driOptionCache *cache, const driOptionCache *info, - int screenNum, const char *driverName); -/** \brief Destroy option info - * - * To be called in <driver>DestroyScreen */ -void driDestroyOptionInfo (driOptionCache *info); -/** \brief Destroy option cache - * - * To be called in <driver>DestroyContext */ -void driDestroyOptionCache (driOptionCache *cache); - -/** \brief Check if there exists a certain option */ -unsigned char driCheckOption (const driOptionCache *cache, const char *name, - driOptionType type); - -/** \brief Query a boolean option value */ -unsigned char driQueryOptionb (const driOptionCache *cache, const char *name); -/** \brief Query an integer option value */ -int driQueryOptioni (const driOptionCache *cache, const char *name); -/** \brief Query a floating-point option value */ -float driQueryOptionf (const driOptionCache *cache, const char *name); -/** \brief Query a string option value */ -char *driQueryOptionstr (const driOptionCache *cache, const char *name); - -/** - * Returns a hash of the options for this application. - */ -static inline void -driComputeOptionsSha1(const driOptionCache *cache, unsigned char *sha1) -{ - void *ctx = ralloc_context(NULL); - char *dri_options = ralloc_strdup(ctx, ""); - - for (int i = 0; i < 1 << cache->tableSize; i++) { - if (cache->info[i].name == NULL) - continue; - - bool ret = false; - switch (cache->info[i].type) { - case DRI_BOOL: - ret = ralloc_asprintf_append(&dri_options, "%s:%u,", - cache->info[i].name, - cache->values[i]._bool); - break; - case DRI_INT: - case DRI_ENUM: - ret = ralloc_asprintf_append(&dri_options, "%s:%d,", - cache->info[i].name, - cache->values[i]._int); - break; - case DRI_FLOAT: - ret = ralloc_asprintf_append(&dri_options, "%s:%f,", - cache->info[i].name, - cache->values[i]._float); - break; - case DRI_STRING: - ret = ralloc_asprintf_append(&dri_options, "%s:%s,", - cache->info[i].name, - cache->values[i]._string); - break; - default: - unreachable("unsupported dri config type!"); - } - - if (!ret) { - break; - } - } - - _mesa_sha1_compute(dri_options, strlen(dri_options), sha1); - ralloc_free(ctx); -} - -#endif diff --git a/src/mesa/drivers/dri/common/xmlpool.h b/src/mesa/drivers/dri/common/xmlpool.h deleted file mode 100644 index ebd4e7c863a..00000000000 --- a/src/mesa/drivers/dri/common/xmlpool.h +++ /dev/null @@ -1,105 +0,0 @@ -/* - * XML DRI client-side driver configuration - * Copyright (C) 2003 Felix Kuehling - * - * 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 - * FELIX KUEHLING, OR ANY OTHER CONTRIBUTORS 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. - * - */ -/** - * \file xmlpool.h - * \brief Pool of common options - * \author Felix Kuehling - * - * This file defines macros that can be used to construct - * driConfigOptions in the drivers. Common options are defined in - * xmlpool/t_options.h from which xmlpool/options.h is generated with - * translations. This file defines generic helper macros and includes - * xmlpool/options.h. - */ - -#ifndef __XMLPOOL_H -#define __XMLPOOL_H - -/* - * generic macros - */ - -/** \brief Begin __driConfigOptions */ -#define DRI_CONF_BEGIN \ -"<driinfo>\n" - -/** \brief End __driConfigOptions */ -#define DRI_CONF_END \ -"</driinfo>\n" - -/** \brief Begin a section of related options */ -#define DRI_CONF_SECTION_BEGIN \ -"<section>\n" - -/** \brief End a section of related options */ -#define DRI_CONF_SECTION_END \ -"</section>\n" - -/** \brief Begin an option definition */ -#define DRI_CONF_OPT_BEGIN(name,type,def) \ -"<option name=\""#name"\" type=\""#type"\" default=\""#def"\">\n" - -/** - * \brief Begin a boolean option definition, with the default value passed in - * as a string - */ -#define DRI_CONF_OPT_BEGIN_B(name,def) \ -"<option name=\""#name"\" type=\"bool\" default="#def">\n" - -/** \brief Begin an option definition with quoted default value */ -#define DRI_CONF_OPT_BEGIN_Q(name,type,def) \ -"<option name=\""#name"\" type=\""#type"\" default="#def">\n" - -/** \brief Begin an option definition with restrictions on valid values */ -#define DRI_CONF_OPT_BEGIN_V(name,type,def,valid) \ -"<option name=\""#name"\" type=\""#type"\" default=\""#def"\" valid=\""valid"\">\n" - -/** \brief End an option description */ -#define DRI_CONF_OPT_END \ -"</option>\n" - -/** \brief A verbal description in a specified language (empty version) */ -#define DRI_CONF_DESC(lang,text) \ -"<description lang=\""#lang"\" text=\""text"\"/>\n" - -/** \brief A verbal description in a specified language */ -#define DRI_CONF_DESC_BEGIN(lang,text) \ -"<description lang=\""#lang"\" text=\""text"\">\n" - -/** \brief End a description */ -#define DRI_CONF_DESC_END \ -"</description>\n" - -/** \brief A verbal description of an enum value */ -#define DRI_CONF_ENUM(value,text) \ -"<enum value=\""#value"\" text=\""text"\"/>\n" - - -/* - * Predefined option sections and options with multi-lingual descriptions - * are now automatically generated. - */ -#include "xmlpool/options.h" - -#endif diff --git a/src/mesa/drivers/dri/common/xmlpool/.gitignore b/src/mesa/drivers/dri/common/xmlpool/.gitignore deleted file mode 100644 index 383df727a17..00000000000 --- a/src/mesa/drivers/dri/common/xmlpool/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -ca -de -es -fr -nl -sv -options.h -xmlpool.pot diff --git a/src/mesa/drivers/dri/common/xmlpool/Makefile.am b/src/mesa/drivers/dri/common/xmlpool/Makefile.am deleted file mode 100644 index dfd8fb8dc6d..00000000000 --- a/src/mesa/drivers/dri/common/xmlpool/Makefile.am +++ /dev/null @@ -1,101 +0,0 @@ -# Convenient makefile for managing translations. - -# Prerequisites: -# - GNU gettext -# - Python - -# Adding new translations -# ----------------------- - -# To start working on a new translation edit the POS=... line -# below. If you want to add for example a french translation, add -# fr.po. - -# Then run "make po" to generate a fresh .po file from translatable -# strings in t_options.h. Now you can edit the new .po file (fr.po in -# the example above) to translate the strings. Please make sure that -# your editor encodes the file in UTF-8. - -# Updating existing translations -# ------------------------------ - -# Run "make po" to update .po files with new translatable strings from -# t_options.h. Now you can edit the .po files you're interested -# in. Please make sure that your editor encodes the file in UTF-8. - -# Updating options.h -# ------------------ - -# Finally run "make" to generate options.h from t_options.h with all -# translations. Now you can rebuild the drivers. Any common options -# used by the drivers will have option descriptions with the latest -# translations. - -# Publishing translations -# ----------------------- - -# To get your translation(s) into Mesa CVS, please send me your -# <lang>.po file. - -# More information: -# - info gettext - -# The set of supported languages. Add languages as needed. -POS=ca.po de.po es.po nl.po fr.po sv.po - -# -# Don't change anything below, unless you know what you're doing. -# -LANGS=$(POS:%.po=%) -MOS=$(POS:%.po=%/LC_MESSAGES/options.mo) -POT=xmlpool.pot - -.PHONY: all clean pot po mo - -EXTRA_DIST = \ - gen_xmlpool.py \ - options.h \ - t_options.h \ - $(POS) \ - $(MOS) \ - SConscript - -BUILT_SOURCES = options.h -CLEANFILES = \ - options.h - $(POS) \ - $(MOS) - -# Default target options.h -LOCALEDIR := . -options.h: t_options.h $(MOS) - $(AM_V_GEN) $(PYTHON2) $(PYTHON_FLAGS) $(srcdir)/gen_xmlpool.py $(srcdir)/t_options.h $(LOCALEDIR) $(LANGS) > options.h - -# Update .mo files from the corresponding .po files. -%/LC_MESSAGES/options.mo: %.po - @mo="$@"; \ - lang=$${mo%%/*}; \ - echo "Updating ($$lang) $@ from $?."; \ - $(MKDIR_P) $$lang/LC_MESSAGES; \ - msgfmt -o $@ $? - -# Use this target to create or update .po files with new messages in -# driconf.py. -po: $(POT) - @for po in $(POS); do \ - if [ -f $$po ]; then \ - echo "Merging new strings from $(POT) into $@."; \ - mv $$po $$po~; \ - msgmerge -o $$po $$po~ $(POT); \ - else \ - echo "Initializing $$po from $(POT)."; \ - msginit -i $(POT) -o $$po~ --locale=$*; \ - sed -e 's/charset=.*\\n/charset=UTF-8\\n/' $$po~ > $$po; \ - fi \ - done - -pot: $(POT) - -# Extract message catalog from driconf.py. -$(POT): t_options.h - xgettext -L C --from-code utf-8 -o $(POT) t_options.h diff --git a/src/mesa/drivers/dri/common/xmlpool/SConscript b/src/mesa/drivers/dri/common/xmlpool/SConscript deleted file mode 100644 index fa42554d3a5..00000000000 --- a/src/mesa/drivers/dri/common/xmlpool/SConscript +++ /dev/null @@ -1,14 +0,0 @@ -Import('*') - -from sys import executable as python_cmd - -LOCALEDIR = env.Dir('.').srcnode().abspath - -xmlpool_options, = env.CodeGenerate( - target = 'options.h', - script = 'gen_xmlpool.py', - source = ['t_options.h'], - command = python_cmd + ' $SCRIPT $SOURCE ' + LOCALEDIR + ' > $TARGET' -) - -Export('xmlpool_options') diff --git a/src/mesa/drivers/dri/common/xmlpool/ca.po b/src/mesa/drivers/dri/common/xmlpool/ca.po deleted file mode 100644 index 03bf29613fc..00000000000 --- a/src/mesa/drivers/dri/common/xmlpool/ca.po +++ /dev/null @@ -1,348 +0,0 @@ -# Language translations for Mesa package -# Traduccions al català del paquet «Mesa». -# -# Copyright © 2014 Alex Henrie <[email protected]> -# -# 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 (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 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. -msgid "" -msgstr "" -"Project-Id-Version: Mesa 10.1.0-devel\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-02-07 02:08-0700\n" -"PO-Revision-Date: 2015-02-23 14:28-0700\n" -"Last-Translator: Alex Henrie <[email protected]>\n" -"Language-Team: Catalan <[email protected]>\n" -"Language: ca\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.7.4\n" - -#: t_options.h:56 -msgid "Debugging" -msgstr "Depuració" - -#: t_options.h:60 -msgid "Disable 3D acceleration" -msgstr "Deshabilita l'acceleració 3D" - -#: t_options.h:65 -msgid "Show performance boxes" -msgstr "Mostra les caixes de rendiment" - -#: t_options.h:70 -msgid "Enable flushing batchbuffer after each draw call" -msgstr "Habilita el buidatge del batchbuffer després de cada trucada de dibuix" - -#: t_options.h:75 -msgid "Enable flushing GPU caches with each draw call" -msgstr "" -"Habilita el buidatge de les memòries cau de GPU amb cada trucada de dibuix" - -#: t_options.h:80 -msgid "Disable throttling on first batch after flush" -msgstr "Deshabilita la regulació en el primer lot després de buidar" - -#: t_options.h:85 -msgid "Force GLSL extension default behavior to 'warn'" -msgstr "" -"Força que el comportament per defecte de les extensions GLSL sigui 'warn'" - -#: t_options.h:90 -msgid "Disable dual source blending" -msgstr "Deshabilita la barreja de font dual" - -#: t_options.h:95 -msgid "Disable backslash-based line continuations in GLSL source" -msgstr "" -"Deshabilita les continuacions de línia basades en barra invertida en la font " -"GLSL" - -#: t_options.h:100 -msgid "Disable GL_ARB_shader_bit_encoding" -msgstr "Deshabilita el GL_ARB_shader_bit_encoding" - -#: t_options.h:105 -msgid "" -"Force a default GLSL version for shaders that lack an explicit #version line" -msgstr "" -"Força una versió GLSL per defecte en els shaders als quals lis manca una " -"línia #version explícita" - -#: t_options.h:110 -msgid "Allow GLSL #extension directives in the middle of shaders" -msgstr "Permet les directives #extension GLSL en el mitjà dels shaders" - -#: t_options.h:120 -msgid "Image Quality" -msgstr "Qualitat d'imatge" - -#: t_options.h:133 -msgid "Texture color depth" -msgstr "Profunditat de color de textura" - -#: t_options.h:134 -msgid "Prefer frame buffer color depth" -msgstr "Prefereix profunditat de color del framebuffer" - -#: t_options.h:135 -msgid "Prefer 32 bits per texel" -msgstr "Prefereix 32 bits per texel" - -#: t_options.h:136 -msgid "Prefer 16 bits per texel" -msgstr "Prefereix 16 bits per texel" - -#: t_options.h:137 -msgid "Force 16 bits per texel" -msgstr "Força 16 bits per texel" - -#: t_options.h:143 -msgid "Initial maximum value for anisotropic texture filtering" -msgstr "Valor màxim inicial per a la filtració de textura anisòtropa" - -#: t_options.h:148 -msgid "Forbid negative texture LOD bias" -msgstr "" -"Prohibeix una parcialitat negativa del Nivell de Detalle (LOD) de les " -"textures" - -#: t_options.h:153 -msgid "" -"Enable S3TC texture compression even if software support is not available" -msgstr "" -"Habilita la compressió de textures S3TC encara que el suport de programari " -"no estigui disponible" - -#: t_options.h:160 -msgid "Initial color reduction method" -msgstr "Mètode inicial de reducció de color" - -#: t_options.h:161 -msgid "Round colors" -msgstr "Colors arrodonits" - -#: t_options.h:162 -msgid "Dither colors" -msgstr "Colors tramats" - -#: t_options.h:170 -msgid "Color rounding method" -msgstr "Mètode d'arrodoniment de color" - -#: t_options.h:171 -msgid "Round color components downward" -msgstr "Arrodoneix els components de color a baix" - -#: t_options.h:172 -msgid "Round to nearest color" -msgstr "Arrodoneix al color més proper" - -#: t_options.h:181 -msgid "Color dithering method" -msgstr "Mètode de tramat de color" - -#: t_options.h:182 -msgid "Horizontal error diffusion" -msgstr "Difusió d'error horitzontal" - -#: t_options.h:183 -msgid "Horizontal error diffusion, reset error at line start" -msgstr "Difusió d'error horitzontal, reinicia l'error a l'inici de la línia" - -#: t_options.h:184 -msgid "Ordered 2D color dithering" -msgstr "Tramat de color 2D ordenat" - -#: t_options.h:190 -msgid "Floating point depth buffer" -msgstr "Buffer de profunditat de punt flotant" - -#: t_options.h:195 -msgid "A post-processing filter to cel-shade the output" -msgstr "Un filtre de postprocessament per a aplicar cel shading a la sortida" - -#: t_options.h:200 -msgid "A post-processing filter to remove the red channel" -msgstr "Un filtre de postprocessament per a eliminar el canal vermell" - -#: t_options.h:205 -msgid "A post-processing filter to remove the green channel" -msgstr "Un filtre de postprocessament per a eliminar el canal verd" - -#: t_options.h:210 -msgid "A post-processing filter to remove the blue channel" -msgstr "Un filtre de postprocessament per a eliminar el canal blau" - -#: t_options.h:215 -msgid "" -"Morphological anti-aliasing based on Jimenez\\' MLAA. 0 to disable, 8 for " -"default quality" -msgstr "" -"Antialiàsing morfològic basat en el MLAA de Jimenez. 0 per deshabilitar, 8 " -"per qualitat per defecte" - -#: t_options.h:220 -msgid "" -"Morphological anti-aliasing based on Jimenez\\' MLAA. 0 to disable, 8 for " -"default quality. Color version, usable with 2d GL apps" -msgstr "" -"Antialiàsing morfològic basat en el MLAA de Jimenez. 0 per deshabilitar, 8 " -"per qualitat per defecte. Versió en color, utilitzable amb les aplicacions " -"GL 2D" - -#: t_options.h:230 -msgid "Performance" -msgstr "Rendiment" - -#: t_options.h:238 -msgid "TCL mode (Transformation, Clipping, Lighting)" -msgstr "Mode TCL (Transformació, Retall, Il·luminació)" - -#: t_options.h:239 -msgid "Use software TCL pipeline" -msgstr "Utilitza la canonada TCL de programari" - -#: t_options.h:240 -msgid "Use hardware TCL as first TCL pipeline stage" -msgstr "Utilitza el TCL de maquinari com a la primera fase de la canonada TCL" - -#: t_options.h:241 -msgid "Bypass the TCL pipeline" -msgstr "Passa per alt la canonada TCL" - -#: t_options.h:242 -msgid "" -"Bypass the TCL pipeline with state-based machine code generated on-the-fly" -msgstr "" -"Passa per alt la canonada TCL amb codi de màquina basat en estats, generat " -"sobre la marxa" - -#: t_options.h:251 -msgid "Method to limit rendering latency" -msgstr "Mètode per a limitar la latència de renderització" - -#: t_options.h:252 -msgid "Busy waiting for the graphics hardware" -msgstr "Espera activa pel maquinari de gràfics" - -#: t_options.h:253 -msgid "Sleep for brief intervals while waiting for the graphics hardware" -msgstr "Dorm per intervals breus mentre s'espera al maquinari de gràfics" - -#: t_options.h:254 -msgid "Let the graphics hardware emit a software interrupt and sleep" -msgstr "" -"Deixa que el maquinari de gràfics emeti una interrupció de programari i dormi" - -#: t_options.h:264 -msgid "Synchronization with vertical refresh (swap intervals)" -msgstr "Sincronització amb refresc vertical (intervals d'intercanvi)" - -#: t_options.h:265 -msgid "Never synchronize with vertical refresh, ignore application's choice" -msgstr "" -"Mai sincronitzis amb el refresc vertical, ignora l'elecció de l'aplicació" - -#: t_options.h:266 -msgid "Initial swap interval 0, obey application's choice" -msgstr "Interval d'intercanvi inicial 0, obeeix l'elecció de l'aplicació" - -#: t_options.h:267 -msgid "Initial swap interval 1, obey application's choice" -msgstr "Interval d'intercanvi inicial 1, obeeix l'elecció de l'aplicació" - -#: t_options.h:268 -msgid "" -"Always synchronize with vertical refresh, application chooses the minimum " -"swap interval" -msgstr "" -"Sempre sincronitza amb el refresc vertical, l'aplicació tria l'interval " -"mínim d'intercanvi" - -#: t_options.h:276 -msgid "Use HyperZ to boost performance" -msgstr "Utilitza el HyperZ per a augmentar el rendiment" - -#: t_options.h:281 -msgid "Number of texture units used" -msgstr "Nombre d'unitats de textura utilitzades" - -#: t_options.h:286 -msgid "Texture filtering quality vs. speed, AKA “brilinear” texture filtering" -msgstr "" -"Qualitat vs. velocitat de filtració de textura, àlies filtració \"brilinear" -"\" de textura" - -#: t_options.h:294 -msgid "Used types of texture memory" -msgstr "Tipus utilitzats de memòria de textura" - -#: t_options.h:295 -msgid "All available memory" -msgstr "Tota la memòria disponible" - -#: t_options.h:296 -msgid "Only card memory (if available)" -msgstr "Només memòria de targeta (si està disponible)" - -#: t_options.h:297 -msgid "Only GART (AGP/PCIE) memory (if available)" -msgstr "Només memòria GART (AGP/PCIE) (si està disponible)" - -#: t_options.h:309 -msgid "Features that are not hardware-accelerated" -msgstr "Característiques no accelerades per maquinari" - -#: t_options.h:313 -msgid "Enable extension GL_ARB_vertex_program" -msgstr "Habilita l'extensió GL_ARB_vertex_program" - -#: t_options.h:323 -msgid "Miscellaneous" -msgstr "Miscel·lània" - -#: t_options.h:327 -msgid "Create all visuals with a depth buffer" -msgstr "Crea tots els visuals amb buffer de profunditat" - -#: t_options.h:337 -msgid "Initialization" -msgstr "Inicialització" - -#: t_options.h:341 -msgid "Define the graphic device to use if possible" -msgstr "Defineix el dispositiu de gràfics que utilitzar si és possible" - -#: t_options.h:350 -msgid "Gallium Nine" -msgstr "Gallium Nine" - -#: t_options.h:354 -msgid "" -"Define the throttling value. -1 for no throttling, -2 for default (usually " -"2), 0 for glfinish behaviour" -msgstr "" -"Defineix el valor de regulació. -1 per a no regular, -2 per al predeterminat " -"(generalment 2), 0 per al comportament de glfinish" - -#: t_options.h:359 -msgid "Use an additional thread to submit buffers." -msgstr "Utilitza un fil addicional per a entregar els buffers." diff --git a/src/mesa/drivers/dri/common/xmlpool/de.po b/src/mesa/drivers/dri/common/xmlpool/de.po deleted file mode 100644 index 7b20d00a62c..00000000000 --- a/src/mesa/drivers/dri/common/xmlpool/de.po +++ /dev/null @@ -1,320 +0,0 @@ -# German translations for DRI driver options. -# Copyright (C) 2005 Felix Kuehling -# This file is distributed under the same license as the Mesa package. -# Felix Kuehling <[email protected]>, 2005. -# -msgid "" -msgstr "" -"Project-Id-Version: Mesa 6.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2014-09-25 22:29-0600\n" -"PO-Revision-Date: 2005-04-11 01:34+0200\n" -"Last-Translator: Felix Kuehling <[email protected]>\n" -"Language-Team: German <[email protected]>\n" -"Language: de\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: t_options.h:56 -msgid "Debugging" -msgstr "Fehlersuche" - -#: t_options.h:60 -msgid "Disable 3D acceleration" -msgstr "3D-Beschleunigung abschalten" - -#: t_options.h:65 -msgid "Show performance boxes" -msgstr "Zeige Performanceboxen" - -#: t_options.h:70 -msgid "Enable flushing batchbuffer after each draw call" -msgstr "Aktiviere sofortige Leerung des Stapelpuffers nach jedem Zeichenaufruf" - -#: t_options.h:75 -msgid "Enable flushing GPU caches with each draw call" -msgstr "" -"Aktiviere sofortige Leerung der GPU-Zwischenspeicher mit jedem Zeichenaufruf" - -#: t_options.h:80 -msgid "Disable throttling on first batch after flush" -msgstr "" - -#: t_options.h:85 -msgid "Force GLSL extension default behavior to 'warn'" -msgstr "" - -#: t_options.h:90 -msgid "Disable dual source blending" -msgstr "" - -#: t_options.h:95 -msgid "Disable backslash-based line continuations in GLSL source" -msgstr "" - -#: t_options.h:100 -msgid "Disable GL_ARB_shader_bit_encoding" -msgstr "" - -#: t_options.h:105 -msgid "" -"Force a default GLSL version for shaders that lack an explicit #version line" -msgstr "" - -#: t_options.h:110 -msgid "Allow GLSL #extension directives in the middle of shaders" -msgstr "" - -#: t_options.h:120 -msgid "Image Quality" -msgstr "Bildqualität" - -#: t_options.h:133 -msgid "Texture color depth" -msgstr "Texturfarbtiefe" - -#: t_options.h:134 -msgid "Prefer frame buffer color depth" -msgstr "Bevorzuge Farbtiefe des Framebuffers" - -#: t_options.h:135 -msgid "Prefer 32 bits per texel" -msgstr "Bevorzuge 32 bits pro Texel" - -#: t_options.h:136 -msgid "Prefer 16 bits per texel" -msgstr "Bevorzuge 16 bits pro Texel" - -#: t_options.h:137 -msgid "Force 16 bits per texel" -msgstr "Erzwinge 16 bits pro Texel" - -#: t_options.h:143 -msgid "Initial maximum value for anisotropic texture filtering" -msgstr "Initialer Maximalwert für anisotropische Texturfilterung" - -#: t_options.h:148 -msgid "Forbid negative texture LOD bias" -msgstr "Verbiete negative Textur-Detailgradverschiebung" - -#: t_options.h:153 -msgid "" -"Enable S3TC texture compression even if software support is not available" -msgstr "" -"Aktiviere S3TC Texturkomprimierung auch wenn die nötige " -"Softwareunterstützung fehlt" - -#: t_options.h:160 -msgid "Initial color reduction method" -msgstr "Initiale Farbreduktionsmethode" - -#: t_options.h:161 -msgid "Round colors" -msgstr "Farben runden" - -#: t_options.h:162 -msgid "Dither colors" -msgstr "Farben rastern" - -#: t_options.h:170 -msgid "Color rounding method" -msgstr "Farbrundungsmethode" - -#: t_options.h:171 -msgid "Round color components downward" -msgstr "Farbkomponenten abrunden" - -#: t_options.h:172 -msgid "Round to nearest color" -msgstr "Zur ähnlichsten Farbe runden" - -#: t_options.h:181 -msgid "Color dithering method" -msgstr "Farbrasterungsmethode" - -#: t_options.h:182 -msgid "Horizontal error diffusion" -msgstr "Horizontale Fehlerstreuung" - -#: t_options.h:183 -msgid "Horizontal error diffusion, reset error at line start" -msgstr "Horizontale Fehlerstreuung, Fehler am Zeilenanfang zurücksetzen" - -#: t_options.h:184 -msgid "Ordered 2D color dithering" -msgstr "Geordnete 2D Farbrasterung" - -#: t_options.h:190 -msgid "Floating point depth buffer" -msgstr "Fließkomma z-Puffer" - -#: t_options.h:195 -msgid "A post-processing filter to cel-shade the output" -msgstr "Nachbearbeitungsfilter für Cell Shading" - -#: t_options.h:200 -msgid "A post-processing filter to remove the red channel" -msgstr "Nachbearbeitungsfilter zum Entfernen des Rotkanals" - -#: t_options.h:205 -msgid "A post-processing filter to remove the green channel" -msgstr "Nachbearbeitungsfilter zum Entfernen des Grünkanals" - -#: t_options.h:210 -msgid "A post-processing filter to remove the blue channel" -msgstr "Nachbearbeitungsfilter zum Entfernen des Blaukanals" - -#: t_options.h:215 -msgid "" -"Morphological anti-aliasing based on Jimenez\\' MLAA. 0 to disable, 8 for " -"default quality" -msgstr "" -"Morphologische Kantenglättung (Anti-Aliasing) basierend auf Jimenez' MLAA. 0 " -"für deaktiviert, 8 für Standardqualität" - -#: t_options.h:220 -msgid "" -"Morphological anti-aliasing based on Jimenez\\' MLAA. 0 to disable, 8 for " -"default quality. Color version, usable with 2d GL apps" -msgstr "" -"Morphologische Kantenglättung (Anti-Aliasing) basierend auf Jimenez' MLAA. 0 " -"für deaktiviert, 8 für Standardqualität. Farbversion, für 2D-Anwendungen" - -#: t_options.h:230 -msgid "Performance" -msgstr "Leistung" - -#: t_options.h:238 -msgid "TCL mode (Transformation, Clipping, Lighting)" -msgstr "TCL-Modus (Transformation, Clipping, Licht)" - -#: t_options.h:239 -msgid "Use software TCL pipeline" -msgstr "Benutze die Software-TCL-Pipeline" - -#: t_options.h:240 -msgid "Use hardware TCL as first TCL pipeline stage" -msgstr "Benutze Hardware TCL als erste Stufe der TCL-Pipeline" - -#: t_options.h:241 -msgid "Bypass the TCL pipeline" -msgstr "Umgehe die TCL-Pipeline" - -#: t_options.h:242 -msgid "" -"Bypass the TCL pipeline with state-based machine code generated on-the-fly" -msgstr "" -"Umgehe die TCL-Pipeline mit zur Laufzeit erzeugtem, zustandsbasiertem " -"Maschinencode" - -#: t_options.h:251 -msgid "Method to limit rendering latency" -msgstr "Methode zur Begrenzung der Bildverzögerung" - -#: t_options.h:252 -msgid "Busy waiting for the graphics hardware" -msgstr "Aktives Warten auf die Grafikhardware" - -#: t_options.h:253 -msgid "Sleep for brief intervals while waiting for the graphics hardware" -msgstr "Kurze Schlafintervalle beim Warten auf die Grafikhardware" - -#: t_options.h:254 -msgid "Let the graphics hardware emit a software interrupt and sleep" -msgstr "" -"Die Grafikhardware eine Softwareunterbrechnung erzeugen lassen und schlafen" - -#: t_options.h:264 -msgid "Synchronization with vertical refresh (swap intervals)" -msgstr "Synchronisation mit der vertikalen Bildwiederholung" - -#: t_options.h:265 -msgid "Never synchronize with vertical refresh, ignore application's choice" -msgstr "" -"Niemals mit der Bildwiederholung synchronisieren, Anweisungen der Anwendung " -"ignorieren" - -#: t_options.h:266 -msgid "Initial swap interval 0, obey application's choice" -msgstr "Initiales Bildinterval 0, Anweisungen der Anwendung gehorchen" - -#: t_options.h:267 -msgid "Initial swap interval 1, obey application's choice" -msgstr "Initiales Bildinterval 1, Anweisungen der Anwendung gehorchen" - -#: t_options.h:268 -msgid "" -"Always synchronize with vertical refresh, application chooses the minimum " -"swap interval" -msgstr "" -"Immer mit der Bildwiederholung synchronisieren, Anwendung wählt das minimale " -"Bildintervall" - -#: t_options.h:276 -msgid "Use HyperZ to boost performance" -msgstr "HyperZ zur Leistungssteigerung verwenden" - -#: t_options.h:281 -msgid "Number of texture units used" -msgstr "Anzahl der benutzten Textureinheiten" - -#: t_options.h:286 -msgid "Texture filtering quality vs. speed, AKA “brilinear” texture filtering" -msgstr "" -"Texturfilterqualität versus -geschwindigkeit, auch bekannt als „brilineare“ " -"Texturfilterung" - -#: t_options.h:294 -msgid "Used types of texture memory" -msgstr "Benutzte Arten von Texturspeicher" - -#: t_options.h:295 -msgid "All available memory" -msgstr "Aller verfügbarer Speicher" - -#: t_options.h:296 -msgid "Only card memory (if available)" -msgstr "Nur Grafikspeicher (falls verfügbar)" - -#: t_options.h:297 -msgid "Only GART (AGP/PCIE) memory (if available)" -msgstr "Nur GART-Speicher (AGP/PCIE) (falls verfügbar)" - -#: t_options.h:309 -msgid "Features that are not hardware-accelerated" -msgstr "Funktionalität, die nicht hardwarebeschleunigt ist" - -#: t_options.h:313 -msgid "Enable extension GL_ARB_vertex_program" -msgstr "Erweiterung GL_ARB_vertex_program aktivieren" - -#: t_options.h:323 -msgid "Miscellaneous" -msgstr "" - -#: t_options.h:327 -msgid "Create all visuals with a depth buffer" -msgstr "" - -#: t_options.h:337 -msgid "Initialization" -msgstr "" - -#: t_options.h:341 -msgid "Define the graphic device to use if possible" -msgstr "" - -#~ msgid "Support larger textures not guaranteed to fit into graphics memory" -#~ msgstr "" -#~ "Unterstütze grosse Texturen die evtl. nicht in den Grafikspeicher passen" - -#~ msgid "No" -#~ msgstr "Nein" - -#~ msgid "At least 1 texture must fit under worst-case assumptions" -#~ msgstr "Mindestens 1 Textur muss auch im schlechtesten Fall Platz haben" - -#~ msgid "Announce hardware limits" -#~ msgstr "Benutze Hardware-Limits" diff --git a/src/mesa/drivers/dri/common/xmlpool/es.po b/src/mesa/drivers/dri/common/xmlpool/es.po deleted file mode 100644 index f9d950ac14d..00000000000 --- a/src/mesa/drivers/dri/common/xmlpool/es.po +++ /dev/null @@ -1,332 +0,0 @@ -# translation of es.po to Spanish -# Spanish translations for PACKAGE package. -# Copyright (C) 2005 THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# David <[email protected]>, 2005. -# David Rubio Miguélez <[email protected]>, 2005. -# -msgid "" -msgstr "" -"Project-Id-Version: es\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-02-07 02:08-0700\n" -"PO-Revision-Date: 2015-02-23 14:54-0700\n" -"Last-Translator: Alex Henrie <[email protected]>\n" -"Language-Team: Spanish <[email protected]>\n" -"Language: es\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 1.7.4\n" - -#: t_options.h:56 -msgid "Debugging" -msgstr "Depuración" - -#: t_options.h:60 -msgid "Disable 3D acceleration" -msgstr "Deshabilitar aceleración 3D" - -#: t_options.h:65 -msgid "Show performance boxes" -msgstr "Mostrar cajas de rendimiento" - -#: t_options.h:70 -msgid "Enable flushing batchbuffer after each draw call" -msgstr "Habilitar vaciado del batchbuffer después de cada llamada de dibujo" - -#: t_options.h:75 -msgid "Enable flushing GPU caches with each draw call" -msgstr "Habilitar vaciado de los cachés GPU con cada llamada de dibujo" - -#: t_options.h:80 -msgid "Disable throttling on first batch after flush" -msgstr "Deshabilitar regulación del primer lote después de vaciar" - -#: t_options.h:85 -msgid "Force GLSL extension default behavior to 'warn'" -msgstr "" -"Forzar que el comportamiento por defecto de las extensiones GLSL sea 'warn'" - -#: t_options.h:90 -msgid "Disable dual source blending" -msgstr "Deshabilitar mezcla de fuente dual" - -#: t_options.h:95 -msgid "Disable backslash-based line continuations in GLSL source" -msgstr "" -"Deshabilitar continuaciones de línea basadas en barra inversa en el código " -"GLSL" - -#: t_options.h:100 -msgid "Disable GL_ARB_shader_bit_encoding" -msgstr "Deshabilitar GL_ARB_shader_bit_encoding" - -#: t_options.h:105 -msgid "" -"Force a default GLSL version for shaders that lack an explicit #version line" -msgstr "" -"Forzar una versión de GLSL por defecto en los shaders a los cuales les falta " -"una línea #version explícita" - -#: t_options.h:110 -msgid "Allow GLSL #extension directives in the middle of shaders" -msgstr "Permite directivas #extension GLSL en medio de los shaders" - -#: t_options.h:120 -msgid "Image Quality" -msgstr "Calidad de imagen" - -#: t_options.h:133 -msgid "Texture color depth" -msgstr "Profundidad de color de textura" - -#: t_options.h:134 -msgid "Prefer frame buffer color depth" -msgstr "Preferir profundidad de color del framebuffer" - -#: t_options.h:135 -msgid "Prefer 32 bits per texel" -msgstr "Preferir 32 bits por texel" - -#: t_options.h:136 -msgid "Prefer 16 bits per texel" -msgstr "Preferir 16 bits por texel" - -#: t_options.h:137 -msgid "Force 16 bits per texel" -msgstr "Forzar a 16 bits por texel" - -#: t_options.h:143 -msgid "Initial maximum value for anisotropic texture filtering" -msgstr "Valor máximo inicial para filtrado anisotrópico de textura" - -#: t_options.h:148 -msgid "Forbid negative texture LOD bias" -msgstr "Prohibir valores negativos de Nivel De Detalle (LOD) de texturas" - -#: t_options.h:153 -msgid "" -"Enable S3TC texture compression even if software support is not available" -msgstr "" -"Habilitar la compresión de texturas S3TC incluso si el soporte por software " -"no está disponible" - -#: t_options.h:160 -msgid "Initial color reduction method" -msgstr "Método inicial de reducción de color" - -#: t_options.h:161 -msgid "Round colors" -msgstr "Colores redondeados" - -#: t_options.h:162 -msgid "Dither colors" -msgstr "Colores suavizados" - -#: t_options.h:170 -msgid "Color rounding method" -msgstr "Método de redondeo de colores" - -#: t_options.h:171 -msgid "Round color components downward" -msgstr "Redondear hacia abajo los componentes de color" - -#: t_options.h:172 -msgid "Round to nearest color" -msgstr "Redondear al color más cercano" - -#: t_options.h:181 -msgid "Color dithering method" -msgstr "Método de suavizado de color" - -#: t_options.h:182 -msgid "Horizontal error diffusion" -msgstr "Difusión de error horizontal" - -#: t_options.h:183 -msgid "Horizontal error diffusion, reset error at line start" -msgstr "Difusión de error horizontal, reiniciar error al comienzo de línea" - -#: t_options.h:184 -msgid "Ordered 2D color dithering" -msgstr "Suavizado de color 2D ordenado" - -#: t_options.h:190 -msgid "Floating point depth buffer" -msgstr "Búfer de profundidad en coma flotante" - -#: t_options.h:195 -msgid "A post-processing filter to cel-shade the output" -msgstr "Un filtro de postprocesamiento para aplicar cel shading a la salida" - -#: t_options.h:200 -msgid "A post-processing filter to remove the red channel" -msgstr "Un filtro de postprocesamiento para eliminar el canal rojo" - -#: t_options.h:205 -msgid "A post-processing filter to remove the green channel" -msgstr "Un filtro de postprocesamiento para eliminar el canal verde" - -#: t_options.h:210 -msgid "A post-processing filter to remove the blue channel" -msgstr "Un filtro de postprocesamiento para eliminar el canal azul" - -#: t_options.h:215 -msgid "" -"Morphological anti-aliasing based on Jimenez\\' MLAA. 0 to disable, 8 for " -"default quality" -msgstr "" -"Antialiasing morfológico basado en el MLAA de Jimenez. 0 para deshabilitar, " -"8 para calidad por defecto" - -#: t_options.h:220 -msgid "" -"Morphological anti-aliasing based on Jimenez\\' MLAA. 0 to disable, 8 for " -"default quality. Color version, usable with 2d GL apps" -msgstr "" -"Antialiasing morfológico basado en el MLAA de Jimenez. 0 para deshabilitar, " -"8 para calidad por defecto. Versión en color, usable con aplicaciones GL 2D" - -#: t_options.h:230 -msgid "Performance" -msgstr "Rendimiento" - -#: t_options.h:238 -msgid "TCL mode (Transformation, Clipping, Lighting)" -msgstr "Modo TCL (Transformación, Recorte, Iluminación)" - -#: t_options.h:239 -msgid "Use software TCL pipeline" -msgstr "Usar tubería TCL por software" - -#: t_options.h:240 -msgid "Use hardware TCL as first TCL pipeline stage" -msgstr "Usar TCL por hardware en la primera fase de la tubería TCL" - -#: t_options.h:241 -msgid "Bypass the TCL pipeline" -msgstr "Pasar por alto la tubería TCL" - -#: t_options.h:242 -msgid "" -"Bypass the TCL pipeline with state-based machine code generated on-the-fly" -msgstr "" -"Pasar por alto la tubería TCL con código máquina basado en estados, generado " -"al vuelo" - -#: t_options.h:251 -msgid "Method to limit rendering latency" -msgstr "Método para limitar la latencia de renderización" - -#: t_options.h:252 -msgid "Busy waiting for the graphics hardware" -msgstr "Esperar activamente al hardware gráfico" - -#: t_options.h:253 -msgid "Sleep for brief intervals while waiting for the graphics hardware" -msgstr "Dormir en intervalos cortos mientras se espera al hardware gráfico" - -#: t_options.h:254 -msgid "Let the graphics hardware emit a software interrupt and sleep" -msgstr "" -"Permitir que el hardware gráfico emita una interrupción de software y duerma" - -#: t_options.h:264 -msgid "Synchronization with vertical refresh (swap intervals)" -msgstr "Sincronización con el refresco vertical (intervalos de intercambio)" - -#: t_options.h:265 -msgid "Never synchronize with vertical refresh, ignore application's choice" -msgstr "" -"No sincronizar nunca con el refresco vertical, ignorar la elección de la " -"aplicación" - -#: t_options.h:266 -msgid "Initial swap interval 0, obey application's choice" -msgstr "" -"Intervalo de intercambio inicial 0, obedecer la elección de la aplicación" - -#: t_options.h:267 -msgid "Initial swap interval 1, obey application's choice" -msgstr "" -"Intervalo de intercambio inicial 1, obedecer la elección de la aplicación" - -#: t_options.h:268 -msgid "" -"Always synchronize with vertical refresh, application chooses the minimum " -"swap interval" -msgstr "" -"Sincronizar siempre con el refresco vertical, la aplicación elige el " -"intervalo de intercambio mínimo" - -#: t_options.h:276 -msgid "Use HyperZ to boost performance" -msgstr "Usar HyperZ para potenciar rendimiento" - -#: t_options.h:281 -msgid "Number of texture units used" -msgstr "Número de unidades de textura usadas" - -#: t_options.h:286 -msgid "Texture filtering quality vs. speed, AKA “brilinear” texture filtering" -msgstr "" -"Calidad de filtrado de textura vs. velocidad, alias filtrado \"brilinear\" " -"de textura" - -#: t_options.h:294 -msgid "Used types of texture memory" -msgstr "Tipos de memoria de textura usados" - -#: t_options.h:295 -msgid "All available memory" -msgstr "Toda la memoria disponible" - -#: t_options.h:296 -msgid "Only card memory (if available)" -msgstr "Solo memoria de tarjeta (si está disponible)" - -#: t_options.h:297 -msgid "Only GART (AGP/PCIE) memory (if available)" -msgstr "Solo memoria GART (AGP/PCIE) (si está disponible)" - -#: t_options.h:309 -msgid "Features that are not hardware-accelerated" -msgstr "Características no aceleradas por hardware" - -#: t_options.h:313 -msgid "Enable extension GL_ARB_vertex_program" -msgstr "Habilitar la extensión GL_ARB_vertex_program" - -#: t_options.h:323 -msgid "Miscellaneous" -msgstr "Misceláneos" - -#: t_options.h:327 -msgid "Create all visuals with a depth buffer" -msgstr "Crear todos los visuales con búfer de profundidad" - -#: t_options.h:337 -msgid "Initialization" -msgstr "Inicialización" - -#: t_options.h:341 -msgid "Define the graphic device to use if possible" -msgstr "Define el dispositivo de gráficos que usar si es posible" - -#: t_options.h:350 -msgid "Gallium Nine" -msgstr "Gallium Nine" - -#: t_options.h:354 -msgid "" -"Define the throttling value. -1 for no throttling, -2 for default (usually " -"2), 0 for glfinish behaviour" -msgstr "" -"Define el valor de regulación. -1 para no regular, -2 para el por defecto " -"(generalmente 2), 0 para el comportamiento de glfinish" - -#: t_options.h:359 -msgid "Use an additional thread to submit buffers." -msgstr "Usar un hilo adicional para entregar los búfer." diff --git a/src/mesa/drivers/dri/common/xmlpool/fr.po b/src/mesa/drivers/dri/common/xmlpool/fr.po deleted file mode 100644 index fa069652c2b..00000000000 --- a/src/mesa/drivers/dri/common/xmlpool/fr.po +++ /dev/null @@ -1,310 +0,0 @@ -# French translations for DRI driver options. -# Copyright (C) 2005 Stephane Marchesin -# This file is distributed under the same license as the Mesa package. -# Stephane Marchesin <[email protected]>, 2005. -# -msgid "" -msgstr "" -"Project-Id-Version: Mesa 6.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2014-09-25 22:29-0600\n" -"PO-Revision-Date: 2005-04-11 01:34+0200\n" -"Last-Translator: Stephane Marchesin <[email protected]>\n" -"Language-Team: French <[email protected]>\n" -"Language: fr\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: t_options.h:56 -msgid "Debugging" -msgstr "Debogage" - -#: t_options.h:60 -msgid "Disable 3D acceleration" -msgstr "Désactiver l'accélération 3D" - -#: t_options.h:65 -msgid "Show performance boxes" -msgstr "Afficher les boîtes de performance" - -#: t_options.h:70 -msgid "Enable flushing batchbuffer after each draw call" -msgstr "" - -#: t_options.h:75 -msgid "Enable flushing GPU caches with each draw call" -msgstr "" - -#: t_options.h:80 -msgid "Disable throttling on first batch after flush" -msgstr "" - -#: t_options.h:85 -msgid "Force GLSL extension default behavior to 'warn'" -msgstr "" - -#: t_options.h:90 -msgid "Disable dual source blending" -msgstr "" - -#: t_options.h:95 -msgid "Disable backslash-based line continuations in GLSL source" -msgstr "" - -#: t_options.h:100 -msgid "Disable GL_ARB_shader_bit_encoding" -msgstr "" - -#: t_options.h:105 -msgid "" -"Force a default GLSL version for shaders that lack an explicit #version line" -msgstr "" - -#: t_options.h:110 -msgid "Allow GLSL #extension directives in the middle of shaders" -msgstr "" - -#: t_options.h:120 -msgid "Image Quality" -msgstr "Qualité d'image" - -#: t_options.h:133 -msgid "Texture color depth" -msgstr "Profondeur de texture" - -#: t_options.h:134 -msgid "Prefer frame buffer color depth" -msgstr "Profondeur de couleur" - -#: t_options.h:135 -msgid "Prefer 32 bits per texel" -msgstr "Préférer 32 bits par texel" - -#: t_options.h:136 -msgid "Prefer 16 bits per texel" -msgstr "Prérérer 16 bits par texel" - -#: t_options.h:137 -msgid "Force 16 bits per texel" -msgstr "Forcer 16 bits par texel" - -#: t_options.h:143 -msgid "Initial maximum value for anisotropic texture filtering" -msgstr "Valeur maximale initiale pour le filtrage anisotropique de texture" - -#: t_options.h:148 -msgid "Forbid negative texture LOD bias" -msgstr "Interdire le LOD bias negatif" - -#: t_options.h:153 -msgid "" -"Enable S3TC texture compression even if software support is not available" -msgstr "" -"Activer la compression de texture S3TC même si le support logiciel est absent" - -#: t_options.h:160 -msgid "Initial color reduction method" -msgstr "Technique de réduction de couleurs" - -#: t_options.h:161 -msgid "Round colors" -msgstr "Arrondir les valeurs de couleur" - -#: t_options.h:162 -msgid "Dither colors" -msgstr "Tramer les couleurs" - -#: t_options.h:170 -msgid "Color rounding method" -msgstr "Méthode d'arrondi des couleurs" - -#: t_options.h:171 -msgid "Round color components downward" -msgstr "Arrondi à l'inférieur" - -#: t_options.h:172 -msgid "Round to nearest color" -msgstr "Arrondi au plus proche" - -#: t_options.h:181 -msgid "Color dithering method" -msgstr "Méthode de tramage" - -#: t_options.h:182 -msgid "Horizontal error diffusion" -msgstr "Diffusion d'erreur horizontale" - -#: t_options.h:183 -msgid "Horizontal error diffusion, reset error at line start" -msgstr "Diffusion d'erreur horizontale, réinitialisé pour chaque ligne" - -#: t_options.h:184 -msgid "Ordered 2D color dithering" -msgstr "Tramage ordonné des couleurs" - -#: t_options.h:190 -msgid "Floating point depth buffer" -msgstr "Z-buffer en virgule flottante" - -#: t_options.h:195 -msgid "A post-processing filter to cel-shade the output" -msgstr "" - -#: t_options.h:200 -msgid "A post-processing filter to remove the red channel" -msgstr "" - -#: t_options.h:205 -msgid "A post-processing filter to remove the green channel" -msgstr "" - -#: t_options.h:210 -msgid "A post-processing filter to remove the blue channel" -msgstr "" - -#: t_options.h:215 -msgid "" -"Morphological anti-aliasing based on Jimenez\\' MLAA. 0 to disable, 8 for " -"default quality" -msgstr "" - -#: t_options.h:220 -msgid "" -"Morphological anti-aliasing based on Jimenez\\' MLAA. 0 to disable, 8 for " -"default quality. Color version, usable with 2d GL apps" -msgstr "" - -#: t_options.h:230 -msgid "Performance" -msgstr "Performance" - -#: t_options.h:238 -msgid "TCL mode (Transformation, Clipping, Lighting)" -msgstr "Mode de TCL (Transformation, Clipping, Eclairage)" - -#: t_options.h:239 -msgid "Use software TCL pipeline" -msgstr "Utiliser un pipeline TCL logiciel" - -#: t_options.h:240 -msgid "Use hardware TCL as first TCL pipeline stage" -msgstr "Utiliser le TCL matériel pour le premier niveau de pipeline" - -#: t_options.h:241 -msgid "Bypass the TCL pipeline" -msgstr "Court-circuiter le pipeline TCL" - -#: t_options.h:242 -msgid "" -"Bypass the TCL pipeline with state-based machine code generated on-the-fly" -msgstr "" -"Court-circuiter le pipeline TCL par une machine à états qui génère le codede " -"TCL à la volée" - -#: t_options.h:251 -msgid "Method to limit rendering latency" -msgstr "Méthode d'attente de la carte graphique" - -#: t_options.h:252 -msgid "Busy waiting for the graphics hardware" -msgstr "Attente active de la carte graphique" - -#: t_options.h:253 -msgid "Sleep for brief intervals while waiting for the graphics hardware" -msgstr "Attente utilisant usleep()" - -#: t_options.h:254 -msgid "Let the graphics hardware emit a software interrupt and sleep" -msgstr "Utiliser les interruptions" - -#: t_options.h:264 -msgid "Synchronization with vertical refresh (swap intervals)" -msgstr "Synchronisation de l'affichage avec le balayage vertical" - -#: t_options.h:265 -msgid "Never synchronize with vertical refresh, ignore application's choice" -msgstr "" -"Ne jamais synchroniser avec le balayage vertical, ignorer le choix de " -"l'application" - -#: t_options.h:266 -msgid "Initial swap interval 0, obey application's choice" -msgstr "" -"Ne pas synchroniser avec le balayage vertical par défaut, mais obéir au " -"choix de l'application" - -#: t_options.h:267 -msgid "Initial swap interval 1, obey application's choice" -msgstr "" -"Synchroniser avec le balayage vertical par défaut, mais obéir au choix de " -"l'application" - -#: t_options.h:268 -msgid "" -"Always synchronize with vertical refresh, application chooses the minimum " -"swap interval" -msgstr "" -"Toujours synchroniser avec le balayage vertical, l'application choisit " -"l'intervalle minimal" - -#: t_options.h:276 -msgid "Use HyperZ to boost performance" -msgstr "Utiliser le HyperZ pour améliorer les performances" - -#: t_options.h:281 -msgid "Number of texture units used" -msgstr "Nombre d'unités de texture" - -#: t_options.h:286 -msgid "Texture filtering quality vs. speed, AKA “brilinear” texture filtering" -msgstr "" -"Qualité/performance du filtrage trilinéaire de texture (filtrage brilinéaire)" - -#: t_options.h:294 -msgid "Used types of texture memory" -msgstr "Types de mémoire de texture" - -#: t_options.h:295 -msgid "All available memory" -msgstr "Utiliser toute la mémoire disponible" - -#: t_options.h:296 -msgid "Only card memory (if available)" -msgstr "Utiliser uniquement la mémoire graphique (si disponible)" - -#: t_options.h:297 -msgid "Only GART (AGP/PCIE) memory (if available)" -msgstr "Utiliser uniquement la mémoire GART (AGP/PCIE) (si disponible)" - -#: t_options.h:309 -msgid "Features that are not hardware-accelerated" -msgstr "Fonctionnalités ne bénéficiant pas d'une accélération matérielle" - -#: t_options.h:313 -msgid "Enable extension GL_ARB_vertex_program" -msgstr "Activer l'extension GL_ARB_vertex_program" - -#: t_options.h:323 -msgid "Miscellaneous" -msgstr "" - -#: t_options.h:327 -msgid "Create all visuals with a depth buffer" -msgstr "" - -#: t_options.h:337 -msgid "Initialization" -msgstr "" - -#: t_options.h:341 -msgid "Define the graphic device to use if possible" -msgstr "" - -#~ msgid "" -#~ "Enable hack to allow larger textures with texture compression on radeon/" -#~ "r200" -#~ msgstr "" -#~ "Activer le hack permettant l'utilisation de textures de grande taille " -#~ "avec la compression de textures sur radeon/r200" diff --git a/src/mesa/drivers/dri/common/xmlpool/gen_xmlpool.py b/src/mesa/drivers/dri/common/xmlpool/gen_xmlpool.py deleted file mode 100644 index eb68a65174b..00000000000 --- a/src/mesa/drivers/dri/common/xmlpool/gen_xmlpool.py +++ /dev/null @@ -1,203 +0,0 @@ - -# -# Usage: -# gen_xmlpool.py /path/to/t_option.h localedir lang lang lang ... -# -# For each given language, this script expects to find a .mo file at -# `{localedir}/{language}/LC_MESSAGES/options.mo`. -# - -import sys -import gettext -import re - -# Path to t_options.h -template_header_path = sys.argv[1] - -localedir = sys.argv[2] - -# List of supported languages -languages = sys.argv[3:] - -# Escape special characters in C strings -def escapeCString (s): - escapeSeqs = {'\a' : '\\a', '\b' : '\\b', '\f' : '\\f', '\n' : '\\n', - '\r' : '\\r', '\t' : '\\t', '\v' : '\\v', '\\' : '\\\\'} - # " -> '' is a hack. Quotes (") aren't possible in XML attributes. - # Better use Unicode characters for typographic quotes in option - # descriptions and translations. - i = 0 - r = '' - while i < len(s): - # Special case: escape double quote with \u201c or \u201d, depending - # on whether it's an open or close quote. This is needed because plain - # double quotes are not possible in XML attributes. - if s[i] == '"': - if i == len(s)-1 or s[i+1].isspace(): - # close quote - q = u'\u201c' - else: - # open quote - q = u'\u201d' - r = r + q - elif escapeSeqs.has_key(s[i]): - r = r + escapeSeqs[s[i]] - else: - r = r + s[i] - i = i + 1 - return r - -# Expand escape sequences in C strings (needed for gettext lookup) -def expandCString (s): - escapeSeqs = {'a' : '\a', 'b' : '\b', 'f' : '\f', 'n' : '\n', - 'r' : '\r', 't' : '\t', 'v' : '\v', - '"' : '"', '\\' : '\\'} - i = 0 - escape = False - hexa = False - octa = False - num = 0 - digits = 0 - r = '' - while i < len(s): - if not escape: - if s[i] == '\\': - escape = True - else: - r = r + s[i] - elif hexa: - if (s[i] >= '0' and s[i] <= '9') or \ - (s[i] >= 'a' and s[i] <= 'f') or \ - (s[i] >= 'A' and s[i] <= 'F'): - num = num * 16 + int(s[i],16) - digits = digits + 1 - else: - digits = 2 - if digits >= 2: - hexa = False - escape = False - r = r + chr(num) - elif octa: - if s[i] >= '0' and s[i] <= '7': - num = num * 8 + int(s[i],8) - digits = digits + 1 - else: - digits = 3 - if digits >= 3: - octa = False - escape = False - r = r + chr(num) - else: - if escapeSeqs.has_key(s[i]): - r = r + escapeSeqs[s[i]] - escape = False - elif s[i] >= '0' and s[i] <= '7': - octa = True - num = int(s[i],8) - if num <= 3: - digits = 1 - else: - digits = 2 - elif s[i] == 'x' or s[i] == 'X': - hexa = True - num = 0 - digits = 0 - else: - r = r + s[i] - escape = False - i = i + 1 - return r - -# Expand matches. The first match is always a DESC or DESC_BEGIN match. -# Subsequent matches are ENUM matches. -# -# DESC, DESC_BEGIN format: \1 \2=<lang> \3 \4=gettext(" \5=<text> \6=") \7 -# ENUM format: \1 \2=gettext(" \3=<text> \4=") \5 -def expandMatches (matches, translations, end=None): - assert len(matches) > 0 - nTranslations = len(translations) - i = 0 - # Expand the description+enums for all translations - for lang,trans in translations: - i = i + 1 - # Make sure that all but the last line of a simple description - # are extended with a backslash. - suffix = '' - if len(matches) == 1 and i < len(translations) and \ - not matches[0].expand (r'\7').endswith('\\'): - suffix = ' \\' - # Expand the description line. Need to use ugettext in order to allow - # non-ascii unicode chars in the original English descriptions. - text = escapeCString (trans.ugettext (unicode (expandCString ( - matches[0].expand (r'\5')), "utf-8"))).encode("utf-8") - print matches[0].expand (r'\1' + lang + r'\3"' + text + r'"\7') + suffix - # Expand any subsequent enum lines - for match in matches[1:]: - text = escapeCString (trans.ugettext (unicode (expandCString ( - match.expand (r'\3')), "utf-8"))).encode("utf-8") - print match.expand (r'\1"' + text + r'"\5') - - # Expand description end - if end: - print end, - -# Compile a list of translation classes to all supported languages. -# The first translation is always a NullTranslations. -translations = [("en", gettext.NullTranslations())] -for lang in languages: - try: - trans = gettext.translation ("options", localedir, [lang]) - except IOError: - sys.stderr.write ("Warning: language '%s' not found.\n" % lang) - continue - translations.append ((lang, trans)) - -# Regular expressions: -reLibintl_h = re.compile (r'#\s*include\s*<libintl.h>') -reDESC = re.compile (r'(\s*DRI_CONF_DESC\s*\(\s*)([a-z]+)(\s*,\s*)(gettext\s*\(\s*")(.*)("\s*\))(\s*\)[ \t]*\\?)$') -reDESC_BEGIN = re.compile (r'(\s*DRI_CONF_DESC_BEGIN\s*\(\s*)([a-z]+)(\s*,\s*)(gettext\s*\(\s*")(.*)("\s*\))(\s*\)[ \t]*\\?)$') -reENUM = re.compile (r'(\s*DRI_CONF_ENUM\s*\([^,]+,\s*)(gettext\s*\(\s*")(.*)("\s*\))(\s*\)[ \t]*\\?)$') -reDESC_END = re.compile (r'\s*DRI_CONF_DESC_END') - -# Print a header -print \ -"/***********************************************************************\n" \ -" *** THIS FILE IS GENERATED AUTOMATICALLY. DON'T EDIT! ***\n" \ -" ***********************************************************************/" - -# Process the options template and generate options.h with all -# translations. -template = file (template_header_path, "r") -descMatches = [] -for line in template: - if len(descMatches) > 0: - matchENUM = reENUM .match (line) - matchDESC_END = reDESC_END.match (line) - if matchENUM: - descMatches.append (matchENUM) - elif matchDESC_END: - expandMatches (descMatches, translations, line) - descMatches = [] - else: - sys.stderr.write ( - "Warning: unexpected line inside description dropped:\n%s\n" \ - % line) - continue - if reLibintl_h.search (line): - # Ignore (comment out) #include <libintl.h> - print "/* %s * commented out by gen_xmlpool.py */" % line - continue - matchDESC = reDESC .match (line) - matchDESC_BEGIN = reDESC_BEGIN.match (line) - if matchDESC: - assert len(descMatches) == 0 - expandMatches ([matchDESC], translations) - elif matchDESC_BEGIN: - assert len(descMatches) == 0 - descMatches = [matchDESC_BEGIN] - else: - print line, - -if len(descMatches) > 0: - sys.stderr.write ("Warning: unterminated description at end of file.\n") - expandMatches (descMatches, translations) diff --git a/src/mesa/drivers/dri/common/xmlpool/nl.po b/src/mesa/drivers/dri/common/xmlpool/nl.po deleted file mode 100644 index 86cb6e96d96..00000000000 --- a/src/mesa/drivers/dri/common/xmlpool/nl.po +++ /dev/null @@ -1,311 +0,0 @@ -# Dutch translations for PACKAGE package. -# Copyright (C) 2005 THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# <[email protected]>, 2005. -# -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2014-09-25 22:29-0600\n" -"PO-Revision-Date: 2005-04-12 20:09+0200\n" -"Last-Translator: Manfred Stienstra <[email protected]>\n" -"Language-Team: Dutch <[email protected]>\n" -"Language: nl\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: t_options.h:56 -msgid "Debugging" -msgstr "Debuggen" - -#: t_options.h:60 -msgid "Disable 3D acceleration" -msgstr "3D versnelling uitschakelen" - -#: t_options.h:65 -msgid "Show performance boxes" -msgstr "Laat prestatie boxjes zien" - -#: t_options.h:70 -msgid "Enable flushing batchbuffer after each draw call" -msgstr "" - -#: t_options.h:75 -msgid "Enable flushing GPU caches with each draw call" -msgstr "" - -#: t_options.h:80 -msgid "Disable throttling on first batch after flush" -msgstr "" - -#: t_options.h:85 -msgid "Force GLSL extension default behavior to 'warn'" -msgstr "" - -#: t_options.h:90 -msgid "Disable dual source blending" -msgstr "" - -#: t_options.h:95 -msgid "Disable backslash-based line continuations in GLSL source" -msgstr "" - -#: t_options.h:100 -msgid "Disable GL_ARB_shader_bit_encoding" -msgstr "" - -#: t_options.h:105 -msgid "" -"Force a default GLSL version for shaders that lack an explicit #version line" -msgstr "" - -#: t_options.h:110 -msgid "Allow GLSL #extension directives in the middle of shaders" -msgstr "" - -#: t_options.h:120 -msgid "Image Quality" -msgstr "Beeldkwaliteit" - -#: t_options.h:133 -msgid "Texture color depth" -msgstr "Textuurkleurendiepte" - -#: t_options.h:134 -msgid "Prefer frame buffer color depth" -msgstr "Prefereer kaderbufferkleurdiepte" - -#: t_options.h:135 -msgid "Prefer 32 bits per texel" -msgstr "Prefereer 32 bits per texel" - -#: t_options.h:136 -msgid "Prefer 16 bits per texel" -msgstr "Prefereer 16 bits per texel" - -#: t_options.h:137 -msgid "Force 16 bits per texel" -msgstr "Dwing 16 bits per texel af" - -#: t_options.h:143 -msgid "Initial maximum value for anisotropic texture filtering" -msgstr "Initïele maximum waarde voor anisotrophische textuur filtering" - -#: t_options.h:148 -msgid "Forbid negative texture LOD bias" -msgstr "Verbied negatief niveau detailonderscheid (LOD) van texturen" - -#: t_options.h:153 -msgid "" -"Enable S3TC texture compression even if software support is not available" -msgstr "" -"Schakel S3TC textuurcompressie in, zelfs als softwareondersteuning niet " -"aanwezig is" - -#: t_options.h:160 -msgid "Initial color reduction method" -msgstr "Initïele kleurreductie methode" - -#: t_options.h:161 -msgid "Round colors" -msgstr "Rond kleuren af" - -#: t_options.h:162 -msgid "Dither colors" -msgstr "Rasteriseer kleuren" - -#: t_options.h:170 -msgid "Color rounding method" -msgstr "Kleurafrondingmethode" - -#: t_options.h:171 -msgid "Round color components downward" -msgstr "Rond kleurencomponenten af naar beneden" - -#: t_options.h:172 -msgid "Round to nearest color" -msgstr "Rond af naar dichtsbijzijnde kleur" - -#: t_options.h:181 -msgid "Color dithering method" -msgstr "Kleurrasteriseringsmethode" - -#: t_options.h:182 -msgid "Horizontal error diffusion" -msgstr "Horizontale foutdiffusie" - -#: t_options.h:183 -msgid "Horizontal error diffusion, reset error at line start" -msgstr "Horizontale foutdiffusie, zet fout bij lijnbegin terug" - -#: t_options.h:184 -msgid "Ordered 2D color dithering" -msgstr "Geordende 2D kleurrasterisering" - -#: t_options.h:190 -msgid "Floating point depth buffer" -msgstr "Dieptebuffer als commagetal" - -#: t_options.h:195 -msgid "A post-processing filter to cel-shade the output" -msgstr "" - -#: t_options.h:200 -msgid "A post-processing filter to remove the red channel" -msgstr "" - -#: t_options.h:205 -msgid "A post-processing filter to remove the green channel" -msgstr "" - -#: t_options.h:210 -msgid "A post-processing filter to remove the blue channel" -msgstr "" - -#: t_options.h:215 -msgid "" -"Morphological anti-aliasing based on Jimenez\\' MLAA. 0 to disable, 8 for " -"default quality" -msgstr "" - -#: t_options.h:220 -msgid "" -"Morphological anti-aliasing based on Jimenez\\' MLAA. 0 to disable, 8 for " -"default quality. Color version, usable with 2d GL apps" -msgstr "" - -#: t_options.h:230 -msgid "Performance" -msgstr "Prestatie" - -#: t_options.h:238 -msgid "TCL mode (Transformation, Clipping, Lighting)" -msgstr "TCL-modus (Transformatie, Clipping, Licht)" - -#: t_options.h:239 -msgid "Use software TCL pipeline" -msgstr "Gebruik software TCL pijpleiding" - -#: t_options.h:240 -msgid "Use hardware TCL as first TCL pipeline stage" -msgstr "Gebruik hardware TCL as eerste TCL pijpleiding trap" - -#: t_options.h:241 -msgid "Bypass the TCL pipeline" -msgstr "Omzeil de TCL pijpleiding" - -#: t_options.h:242 -msgid "" -"Bypass the TCL pipeline with state-based machine code generated on-the-fly" -msgstr "" -"Omzeil de TCL pijpleiding met staatgebaseerde machinecode die tijdens " -"executie gegenereerd wordt" - -#: t_options.h:251 -msgid "Method to limit rendering latency" -msgstr "Methode om beeldopbouwvertraging te onderdrukken" - -#: t_options.h:252 -msgid "Busy waiting for the graphics hardware" -msgstr "Actief wachten voor de grafische hardware" - -#: t_options.h:253 -msgid "Sleep for brief intervals while waiting for the graphics hardware" -msgstr "" -"Slaap voor korte intervallen tijdens het wachten op de grafische hardware" - -#: t_options.h:254 -msgid "Let the graphics hardware emit a software interrupt and sleep" -msgstr "" -"Laat de grafische hardware een software onderbreking uitzenden en in slaap " -"vallen" - -#: t_options.h:264 -msgid "Synchronization with vertical refresh (swap intervals)" -msgstr "Synchronisatie met verticale verversing (interval omwisselen)" - -#: t_options.h:265 -msgid "Never synchronize with vertical refresh, ignore application's choice" -msgstr "" -"Nooit synchroniseren met verticale verversing, negeer de keuze van de " -"applicatie" - -#: t_options.h:266 -msgid "Initial swap interval 0, obey application's choice" -msgstr "Initïeel omwisselingsinterval 0, honoreer de keuze van de applicatie" - -#: t_options.h:267 -msgid "Initial swap interval 1, obey application's choice" -msgstr "Initïeel omwisselingsinterval 1, honoreer de keuze van de applicatie" - -#: t_options.h:268 -msgid "" -"Always synchronize with vertical refresh, application chooses the minimum " -"swap interval" -msgstr "" -"Synchroniseer altijd met verticale verversing, de applicatie kiest het " -"minimum omwisselingsinterval" - -#: t_options.h:276 -msgid "Use HyperZ to boost performance" -msgstr "Gebruik HyperZ om de prestaties te verbeteren" - -#: t_options.h:281 -msgid "Number of texture units used" -msgstr "Aantal textuureenheden in gebruik" - -#: t_options.h:286 -msgid "Texture filtering quality vs. speed, AKA “brilinear” texture filtering" -msgstr "" -"Textuurfilterkwaliteit versus -snelheid, ookwel bekend als “brilineaire” " -"textuurfiltering" - -#: t_options.h:294 -msgid "Used types of texture memory" -msgstr "Gebruikte soorten textuurgeheugen" - -#: t_options.h:295 -msgid "All available memory" -msgstr "Al het beschikbaar geheugen" - -#: t_options.h:296 -msgid "Only card memory (if available)" -msgstr "Alleen geheugen op de kaart (als het aanwezig is)" - -#: t_options.h:297 -msgid "Only GART (AGP/PCIE) memory (if available)" -msgstr "Alleen GART (AGP/PCIE) geheugen (als het aanwezig is)" - -#: t_options.h:309 -msgid "Features that are not hardware-accelerated" -msgstr "Eigenschappen die niet hardwareversneld zijn" - -#: t_options.h:313 -msgid "Enable extension GL_ARB_vertex_program" -msgstr "Zet uitbreiding GL_ARB_vertex_program aan" - -#: t_options.h:323 -msgid "Miscellaneous" -msgstr "" - -#: t_options.h:327 -msgid "Create all visuals with a depth buffer" -msgstr "" - -#: t_options.h:337 -msgid "Initialization" -msgstr "" - -#: t_options.h:341 -msgid "Define the graphic device to use if possible" -msgstr "" - -#~ msgid "" -#~ "Enable hack to allow larger textures with texture compression on radeon/" -#~ "r200" -#~ msgstr "" -#~ "Schakel hack in om met textuurcompressie grotere texturen toe te staan op " -#~ "een radeon/r200" diff --git a/src/mesa/drivers/dri/common/xmlpool/sv.po b/src/mesa/drivers/dri/common/xmlpool/sv.po deleted file mode 100644 index d8d7353f408..00000000000 --- a/src/mesa/drivers/dri/common/xmlpool/sv.po +++ /dev/null @@ -1,309 +0,0 @@ -# Swedish translation of DRI driver options. -# Copyright (C) Free Software Foundation, Inc. -# This file is distributed under the same license as the Mesa package. -# Daniel Nylander <[email protected]>, 2006. -# -msgid "" -msgstr "" -"Project-Id-Version: Mesa DRI\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2014-09-25 22:29-0600\n" -"PO-Revision-Date: 2006-09-18 10:56+0100\n" -"Last-Translator: Daniel Nylander <[email protected]>\n" -"Language-Team: Swedish <[email protected]>\n" -"Language: sv\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: t_options.h:56 -msgid "Debugging" -msgstr "Felsökning" - -#: t_options.h:60 -msgid "Disable 3D acceleration" -msgstr "Inaktivera 3D-accelerering" - -#: t_options.h:65 -msgid "Show performance boxes" -msgstr "Visa prestandarutor" - -#: t_options.h:70 -msgid "Enable flushing batchbuffer after each draw call" -msgstr "" - -#: t_options.h:75 -msgid "Enable flushing GPU caches with each draw call" -msgstr "" - -#: t_options.h:80 -msgid "Disable throttling on first batch after flush" -msgstr "" - -#: t_options.h:85 -msgid "Force GLSL extension default behavior to 'warn'" -msgstr "" - -#: t_options.h:90 -msgid "Disable dual source blending" -msgstr "" - -#: t_options.h:95 -msgid "Disable backslash-based line continuations in GLSL source" -msgstr "" - -#: t_options.h:100 -msgid "Disable GL_ARB_shader_bit_encoding" -msgstr "" - -#: t_options.h:105 -msgid "" -"Force a default GLSL version for shaders that lack an explicit #version line" -msgstr "" - -#: t_options.h:110 -msgid "Allow GLSL #extension directives in the middle of shaders" -msgstr "" - -#: t_options.h:120 -msgid "Image Quality" -msgstr "Bildkvalitet" - -#: t_options.h:133 -msgid "Texture color depth" -msgstr "Färgdjup för texturer" - -#: t_options.h:134 -msgid "Prefer frame buffer color depth" -msgstr "Föredra färgdjupet för framebuffer" - -#: t_options.h:135 -msgid "Prefer 32 bits per texel" -msgstr "Föredra 32 bitar per texel" - -#: t_options.h:136 -msgid "Prefer 16 bits per texel" -msgstr "Föredra 16 bitar per texel" - -#: t_options.h:137 -msgid "Force 16 bits per texel" -msgstr "Tvinga 16 bitar per texel" - -#: t_options.h:143 -msgid "Initial maximum value for anisotropic texture filtering" -msgstr "Initialt maximalt värde för anisotropisk texturfiltrering" - -#: t_options.h:148 -msgid "Forbid negative texture LOD bias" -msgstr "Förbjud negativ LOD-kompensation för texturer" - -#: t_options.h:153 -msgid "" -"Enable S3TC texture compression even if software support is not available" -msgstr "Aktivera S3TC-texturkomprimering även om programvarustöd saknas" - -#: t_options.h:160 -msgid "Initial color reduction method" -msgstr "Initial färgminskningsmetod" - -#: t_options.h:161 -msgid "Round colors" -msgstr "Avrunda färger" - -#: t_options.h:162 -msgid "Dither colors" -msgstr "Utjämna färger" - -#: t_options.h:170 -msgid "Color rounding method" -msgstr "Färgavrundningsmetod" - -#: t_options.h:171 -msgid "Round color components downward" -msgstr "Avrunda färdkomponenter nedåt" - -#: t_options.h:172 -msgid "Round to nearest color" -msgstr "Avrunda till närmsta färg" - -#: t_options.h:181 -msgid "Color dithering method" -msgstr "Färgutjämningsmetod" - -#: t_options.h:182 -msgid "Horizontal error diffusion" -msgstr "Horisontell felspridning" - -#: t_options.h:183 -msgid "Horizontal error diffusion, reset error at line start" -msgstr "Horisontell felspridning, återställ fel vid radbörjan" - -#: t_options.h:184 -msgid "Ordered 2D color dithering" -msgstr "Ordnad 2D-färgutjämning" - -#: t_options.h:190 -msgid "Floating point depth buffer" -msgstr "Buffert för flytande punktdjup" - -#: t_options.h:195 -msgid "A post-processing filter to cel-shade the output" -msgstr "" - -#: t_options.h:200 -msgid "A post-processing filter to remove the red channel" -msgstr "" - -#: t_options.h:205 -msgid "A post-processing filter to remove the green channel" -msgstr "" - -#: t_options.h:210 -msgid "A post-processing filter to remove the blue channel" -msgstr "" - -#: t_options.h:215 -msgid "" -"Morphological anti-aliasing based on Jimenez\\' MLAA. 0 to disable, 8 for " -"default quality" -msgstr "" - -#: t_options.h:220 -msgid "" -"Morphological anti-aliasing based on Jimenez\\' MLAA. 0 to disable, 8 for " -"default quality. Color version, usable with 2d GL apps" -msgstr "" - -#: t_options.h:230 -msgid "Performance" -msgstr "Prestanda" - -#: t_options.h:238 -msgid "TCL mode (Transformation, Clipping, Lighting)" -msgstr "TCL-läge (Transformation, Clipping, Lighting)" - -#: t_options.h:239 -msgid "Use software TCL pipeline" -msgstr "Använd programvaru-TCL-rörledning" - -#: t_options.h:240 -msgid "Use hardware TCL as first TCL pipeline stage" -msgstr "Använd maskinvaru-TCL som första TCL-rörledningssteg" - -#: t_options.h:241 -msgid "Bypass the TCL pipeline" -msgstr "Kringgå TCL-rörledningen" - -#: t_options.h:242 -msgid "" -"Bypass the TCL pipeline with state-based machine code generated on-the-fly" -msgstr "" -"Kringgå TCL-rörledningen med tillståndsbaserad maskinkod som direktgenereras" - -#: t_options.h:251 -msgid "Method to limit rendering latency" -msgstr "Metod för att begränsa renderingslatens" - -#: t_options.h:252 -msgid "Busy waiting for the graphics hardware" -msgstr "Upptagen med att vänta på grafikhårdvaran" - -#: t_options.h:253 -msgid "Sleep for brief intervals while waiting for the graphics hardware" -msgstr "Sov i korta intervall under väntan på grafikhårdvaran" - -#: t_options.h:254 -msgid "Let the graphics hardware emit a software interrupt and sleep" -msgstr "Låt grafikhårdvaran sända ut ett programvaruavbrott och sov" - -#: t_options.h:264 -msgid "Synchronization with vertical refresh (swap intervals)" -msgstr "Synkronisering med vertikal uppdatering (växlingsintervall)" - -#: t_options.h:265 -msgid "Never synchronize with vertical refresh, ignore application's choice" -msgstr "Synkronisera aldrig med vertikal uppdatering, ignorera programmets val" - -#: t_options.h:266 -msgid "Initial swap interval 0, obey application's choice" -msgstr "Initialt växlingsintervall 0, följ programmets val" - -#: t_options.h:267 -msgid "Initial swap interval 1, obey application's choice" -msgstr "Initialt växlingsintervall 1, följ programmets val" - -#: t_options.h:268 -msgid "" -"Always synchronize with vertical refresh, application chooses the minimum " -"swap interval" -msgstr "" -"Synkronisera alltid med vertikal uppdatering, programmet väljer den minsta " -"växlingsintervallen" - -#: t_options.h:276 -msgid "Use HyperZ to boost performance" -msgstr "Använd HyperZ för att maximera prestandan" - -#: t_options.h:281 -msgid "Number of texture units used" -msgstr "Antal använda texturenheter" - -#: t_options.h:286 -msgid "Texture filtering quality vs. speed, AKA “brilinear” texture filtering" -msgstr "" -"Texturfiltreringskvalitet mot hastighet, även kallad \"brilinear\"-" -"texturfiltrering" - -#: t_options.h:294 -msgid "Used types of texture memory" -msgstr "Använda typer av texturminne" - -#: t_options.h:295 -msgid "All available memory" -msgstr "Allt tillgängligt minne" - -#: t_options.h:296 -msgid "Only card memory (if available)" -msgstr "Endast kortminne (om tillgängligt)" - -#: t_options.h:297 -msgid "Only GART (AGP/PCIE) memory (if available)" -msgstr "Endast GART-minne (AGP/PCIE) (om tillgängligt)" - -#: t_options.h:309 -msgid "Features that are not hardware-accelerated" -msgstr "Funktioner som inte är hårdvaruaccelererade" - -#: t_options.h:313 -msgid "Enable extension GL_ARB_vertex_program" -msgstr "Aktivera tillägget GL_ARB_vertex_program" - -#: t_options.h:323 -msgid "Miscellaneous" -msgstr "" - -#: t_options.h:327 -msgid "Create all visuals with a depth buffer" -msgstr "" - -#: t_options.h:337 -msgid "Initialization" -msgstr "" - -#: t_options.h:341 -msgid "Define the graphic device to use if possible" -msgstr "" - -#~ msgid "Support larger textures not guaranteed to fit into graphics memory" -#~ msgstr "" -#~ "Stöd för större texturer är inte garanterat att passa i grafikminnet" - -#~ msgid "No" -#~ msgstr "Nej" - -#~ msgid "At least 1 texture must fit under worst-case assumptions" -#~ msgstr "Åtminstone en textur måste passa för antaget sämsta förhållande" - -#~ msgid "Announce hardware limits" -#~ msgstr "Annonsera hårdvarubegränsningar" diff --git a/src/mesa/drivers/dri/common/xmlpool/t_options.h b/src/mesa/drivers/dri/common/xmlpool/t_options.h deleted file mode 100644 index e308839aa78..00000000000 --- a/src/mesa/drivers/dri/common/xmlpool/t_options.h +++ /dev/null @@ -1,431 +0,0 @@ -/* - * XML DRI client-side driver configuration - * Copyright (C) 2003 Felix Kuehling - * - * 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 - * FELIX KUEHLING, OR ANY OTHER CONTRIBUTORS 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. - * - */ -/** - * \file t_options.h - * \brief Templates of common options - * \author Felix Kuehling - * - * This file defines macros for common options that can be used to - * construct driConfigOptions in the drivers. This file is only a - * template containing English descriptions for options wrapped in - * gettext(). xgettext can be used to extract translatable - * strings. These strings can then be translated by anyone familiar - * with GNU gettext. gen_xmlpool.py takes this template and fills in - * all the translations. The result (options.h) is included by - * xmlpool.h which in turn can be included by drivers. - * - * The macros used to describe otions in this file are defined in - * ../xmlpool.h. - */ - -/* This is needed for xgettext to extract translatable strings. - * gen_xmlpool.py will discard this line. */ -#include <libintl.h> - -/* - * predefined option sections and options with multi-lingual descriptions - */ - - -/** - * \brief Debugging options - */ -#define DRI_CONF_SECTION_DEBUG \ -DRI_CONF_SECTION_BEGIN \ - DRI_CONF_DESC(en,gettext("Debugging")) - -#define DRI_CONF_NO_RAST(def) \ -DRI_CONF_OPT_BEGIN_B(no_rast, def) \ - DRI_CONF_DESC(en,gettext("Disable 3D acceleration")) \ -DRI_CONF_OPT_END - -#define DRI_CONF_PERFORMANCE_BOXES(def) \ -DRI_CONF_OPT_BEGIN_B(performance_boxes, def) \ - DRI_CONF_DESC(en,gettext("Show performance boxes")) \ -DRI_CONF_OPT_END - -#define DRI_CONF_ALWAYS_FLUSH_BATCH(def) \ -DRI_CONF_OPT_BEGIN_B(always_flush_batch, def) \ - DRI_CONF_DESC(en,gettext("Enable flushing batchbuffer after each draw call")) \ -DRI_CONF_OPT_END - -#define DRI_CONF_ALWAYS_FLUSH_CACHE(def) \ -DRI_CONF_OPT_BEGIN_B(always_flush_cache, def) \ - DRI_CONF_DESC(en,gettext("Enable flushing GPU caches with each draw call")) \ -DRI_CONF_OPT_END - -#define DRI_CONF_DISABLE_THROTTLING(def) \ -DRI_CONF_OPT_BEGIN_B(disable_throttling, def) \ - DRI_CONF_DESC(en,gettext("Disable throttling on first batch after flush")) \ -DRI_CONF_OPT_END - -#define DRI_CONF_FORCE_GLSL_EXTENSIONS_WARN(def) \ -DRI_CONF_OPT_BEGIN_B(force_glsl_extensions_warn, def) \ - DRI_CONF_DESC(en,gettext("Force GLSL extension default behavior to 'warn'")) \ -DRI_CONF_OPT_END - -#define DRI_CONF_DISABLE_BLEND_FUNC_EXTENDED(def) \ -DRI_CONF_OPT_BEGIN_B(disable_blend_func_extended, def) \ - DRI_CONF_DESC(en,gettext("Disable dual source blending")) \ -DRI_CONF_OPT_END - -#define DRI_CONF_DUAL_COLOR_BLEND_BY_LOCATION(def) \ -DRI_CONF_OPT_BEGIN_B(dual_color_blend_by_location, def) \ - DRI_CONF_DESC(en,gettext("Identify dual color blending sources by location rather than index")) \ -DRI_CONF_OPT_END - -#define DRI_CONF_DISABLE_GLSL_LINE_CONTINUATIONS(def) \ -DRI_CONF_OPT_BEGIN_B(disable_glsl_line_continuations, def) \ - DRI_CONF_DESC(en,gettext("Disable backslash-based line continuations in GLSL source")) \ -DRI_CONF_OPT_END - -#define DRI_CONF_DISABLE_SHADER_BIT_ENCODING(def) \ -DRI_CONF_OPT_BEGIN_B(disable_shader_bit_encoding, def) \ - DRI_CONF_DESC(en,gettext("Disable GL_ARB_shader_bit_encoding")) \ -DRI_CONF_OPT_END - -#define DRI_CONF_FORCE_GLSL_VERSION(def) \ -DRI_CONF_OPT_BEGIN_V(force_glsl_version, int, def, "0:999") \ - DRI_CONF_DESC(en,gettext("Force a default GLSL version for shaders that lack an explicit #version line")) \ -DRI_CONF_OPT_END - -#define DRI_CONF_ALLOW_GLSL_EXTENSION_DIRECTIVE_MIDSHADER(def) \ -DRI_CONF_OPT_BEGIN_B(allow_glsl_extension_directive_midshader, def) \ - DRI_CONF_DESC(en,gettext("Allow GLSL #extension directives in the middle of shaders")) \ -DRI_CONF_OPT_END - -#define DRI_CONF_ALLOW_GLSL_BUILTIN_VARIABLE_REDECLARATION(def) \ -DRI_CONF_OPT_BEGIN_B(allow_glsl_builtin_variable_redeclaration, def) \ - DRI_CONF_DESC(en,gettext("Allow GLSL built-in variables to be redeclared verbatim")) \ -DRI_CONF_OPT_END - -#define DRI_CONF_ALLOW_HIGHER_COMPAT_VERSION(def) \ -DRI_CONF_OPT_BEGIN_B(allow_higher_compat_version, def) \ - DRI_CONF_DESC(en,gettext("Allow a higher compat profile (version 3.1+) for apps that request it")) \ -DRI_CONF_OPT_END - -#define DRI_CONF_FORCE_GLSL_ABS_SQRT(def) \ -DRI_CONF_OPT_BEGIN_B(force_glsl_abs_sqrt, def) \ - DRI_CONF_DESC(en,gettext("Force computing the absolute value for sqrt() and inversesqrt()")) \ -DRI_CONF_OPT_END - -#define DRI_CONF_GLSL_CORRECT_DERIVATIVES_AFTER_DISCARD(def) \ -DRI_CONF_OPT_BEGIN_B(glsl_correct_derivatives_after_discard, def) \ - DRI_CONF_DESC(en,gettext("Implicit and explicit derivatives after a discard behave as if the discard didn't happen")) \ -DRI_CONF_OPT_END - - -/** - * \brief Image quality-related options - */ -#define DRI_CONF_SECTION_QUALITY \ -DRI_CONF_SECTION_BEGIN \ - DRI_CONF_DESC(en,gettext("Image Quality")) - -#define DRI_CONF_EXCESS_MIPMAP(def) \ -DRI_CONF_OPT_BEGIN_B(excess_mipmap, def) \ - DRI_CONF_DESC(en,"Enable extra mipmap level") \ -DRI_CONF_OPT_END - -#define DRI_CONF_TEXTURE_DEPTH_FB 0 -#define DRI_CONF_TEXTURE_DEPTH_32 1 -#define DRI_CONF_TEXTURE_DEPTH_16 2 -#define DRI_CONF_TEXTURE_DEPTH_FORCE_16 3 -#define DRI_CONF_TEXTURE_DEPTH(def) \ -DRI_CONF_OPT_BEGIN_V(texture_depth,enum,def,"0:3") \ - DRI_CONF_DESC_BEGIN(en,gettext("Texture color depth")) \ - DRI_CONF_ENUM(0,gettext("Prefer frame buffer color depth")) \ - DRI_CONF_ENUM(1,gettext("Prefer 32 bits per texel")) \ - DRI_CONF_ENUM(2,gettext("Prefer 16 bits per texel")) \ - DRI_CONF_ENUM(3,gettext("Force 16 bits per texel")) \ - DRI_CONF_DESC_END \ -DRI_CONF_OPT_END - -#define DRI_CONF_DEF_MAX_ANISOTROPY(def,range) \ -DRI_CONF_OPT_BEGIN_V(def_max_anisotropy,float,def,range) \ - DRI_CONF_DESC(en,gettext("Initial maximum value for anisotropic texture filtering")) \ -DRI_CONF_OPT_END - -#define DRI_CONF_NO_NEG_LOD_BIAS(def) \ -DRI_CONF_OPT_BEGIN_B(no_neg_lod_bias, def) \ - DRI_CONF_DESC(en,gettext("Forbid negative texture LOD bias")) \ -DRI_CONF_OPT_END - -#define DRI_CONF_FORCE_S3TC_ENABLE(def) \ -DRI_CONF_OPT_BEGIN_B(force_s3tc_enable, def) \ - DRI_CONF_DESC(en,gettext("Enable S3TC texture compression even if software support is not available")) \ -DRI_CONF_OPT_END - -#define DRI_CONF_PRECISE_TRIG(def) \ -DRI_CONF_OPT_BEGIN_B(precise_trig, def) \ - DRI_CONF_DESC(en,gettext("Prefer accuracy over performance in trig functions")) \ -DRI_CONF_OPT_END - -#define DRI_CONF_COLOR_REDUCTION_ROUND 0 -#define DRI_CONF_COLOR_REDUCTION_DITHER 1 -#define DRI_CONF_COLOR_REDUCTION(def) \ -DRI_CONF_OPT_BEGIN_V(color_reduction,enum,def,"0:1") \ - DRI_CONF_DESC_BEGIN(en,gettext("Initial color reduction method")) \ - DRI_CONF_ENUM(0,gettext("Round colors")) \ - DRI_CONF_ENUM(1,gettext("Dither colors")) \ - DRI_CONF_DESC_END \ -DRI_CONF_OPT_END - -#define DRI_CONF_ROUND_TRUNC 0 -#define DRI_CONF_ROUND_ROUND 1 -#define DRI_CONF_ROUND_MODE(def) \ -DRI_CONF_OPT_BEGIN_V(round_mode,enum,def,"0:1") \ - DRI_CONF_DESC_BEGIN(en,gettext("Color rounding method")) \ - DRI_CONF_ENUM(0,gettext("Round color components downward")) \ - DRI_CONF_ENUM(1,gettext("Round to nearest color")) \ - DRI_CONF_DESC_END \ -DRI_CONF_OPT_END - -#define DRI_CONF_DITHER_XERRORDIFF 0 -#define DRI_CONF_DITHER_XERRORDIFFRESET 1 -#define DRI_CONF_DITHER_ORDERED 2 -#define DRI_CONF_DITHER_MODE(def) \ -DRI_CONF_OPT_BEGIN_V(dither_mode,enum,def,"0:2") \ - DRI_CONF_DESC_BEGIN(en,gettext("Color dithering method")) \ - DRI_CONF_ENUM(0,gettext("Horizontal error diffusion")) \ - DRI_CONF_ENUM(1,gettext("Horizontal error diffusion, reset error at line start")) \ - DRI_CONF_ENUM(2,gettext("Ordered 2D color dithering")) \ - DRI_CONF_DESC_END \ -DRI_CONF_OPT_END - -#define DRI_CONF_FLOAT_DEPTH(def) \ -DRI_CONF_OPT_BEGIN_B(float_depth, def) \ - DRI_CONF_DESC(en,gettext("Floating point depth buffer")) \ -DRI_CONF_OPT_END - -#define DRI_CONF_PP_CELSHADE(def) \ -DRI_CONF_OPT_BEGIN_V(pp_celshade,enum,def,"0:1") \ - DRI_CONF_DESC(en,gettext("A post-processing filter to cel-shade the output")) \ -DRI_CONF_OPT_END - -#define DRI_CONF_PP_NORED(def) \ -DRI_CONF_OPT_BEGIN_V(pp_nored,enum,def,"0:1") \ - DRI_CONF_DESC(en,gettext("A post-processing filter to remove the red channel")) \ -DRI_CONF_OPT_END - -#define DRI_CONF_PP_NOGREEN(def) \ -DRI_CONF_OPT_BEGIN_V(pp_nogreen,enum,def,"0:1") \ - DRI_CONF_DESC(en,gettext("A post-processing filter to remove the green channel")) \ -DRI_CONF_OPT_END - -#define DRI_CONF_PP_NOBLUE(def) \ -DRI_CONF_OPT_BEGIN_V(pp_noblue,enum,def,"0:1") \ - DRI_CONF_DESC(en,gettext("A post-processing filter to remove the blue channel")) \ -DRI_CONF_OPT_END - -#define DRI_CONF_PP_JIMENEZMLAA(def,min,max) \ -DRI_CONF_OPT_BEGIN_V(pp_jimenezmlaa,int,def, # min ":" # max ) \ - DRI_CONF_DESC(en,gettext("Morphological anti-aliasing based on Jimenez\\\' MLAA. 0 to disable, 8 for default quality")) \ -DRI_CONF_OPT_END - -#define DRI_CONF_PP_JIMENEZMLAA_COLOR(def,min,max) \ -DRI_CONF_OPT_BEGIN_V(pp_jimenezmlaa_color,int,def, # min ":" # max ) \ - DRI_CONF_DESC(en,gettext("Morphological anti-aliasing based on Jimenez\\\' MLAA. 0 to disable, 8 for default quality. Color version, usable with 2d GL apps")) \ -DRI_CONF_OPT_END - - - -/** - * \brief Performance-related options - */ -#define DRI_CONF_SECTION_PERFORMANCE \ -DRI_CONF_SECTION_BEGIN \ - DRI_CONF_DESC(en,gettext("Performance")) - -#define DRI_CONF_TCL_SW 0 -#define DRI_CONF_TCL_PIPELINED 1 -#define DRI_CONF_TCL_VTXFMT 2 -#define DRI_CONF_TCL_CODEGEN 3 -#define DRI_CONF_TCL_MODE(def) \ -DRI_CONF_OPT_BEGIN_V(tcl_mode,enum,def,"0:3") \ - DRI_CONF_DESC_BEGIN(en,gettext("TCL mode (Transformation, Clipping, Lighting)")) \ - DRI_CONF_ENUM(0,gettext("Use software TCL pipeline")) \ - DRI_CONF_ENUM(1,gettext("Use hardware TCL as first TCL pipeline stage")) \ - DRI_CONF_ENUM(2,gettext("Bypass the TCL pipeline")) \ - DRI_CONF_ENUM(3,gettext("Bypass the TCL pipeline with state-based machine code generated on-the-fly")) \ - DRI_CONF_DESC_END \ -DRI_CONF_OPT_END - -#define DRI_CONF_FTHROTTLE_BUSY 0 -#define DRI_CONF_FTHROTTLE_USLEEPS 1 -#define DRI_CONF_FTHROTTLE_IRQS 2 -#define DRI_CONF_FTHROTTLE_MODE(def) \ -DRI_CONF_OPT_BEGIN_V(fthrottle_mode,enum,def,"0:2") \ - DRI_CONF_DESC_BEGIN(en,gettext("Method to limit rendering latency")) \ - DRI_CONF_ENUM(0,gettext("Busy waiting for the graphics hardware")) \ - DRI_CONF_ENUM(1,gettext("Sleep for brief intervals while waiting for the graphics hardware")) \ - DRI_CONF_ENUM(2,gettext("Let the graphics hardware emit a software interrupt and sleep")) \ - DRI_CONF_DESC_END \ -DRI_CONF_OPT_END - -#define DRI_CONF_VBLANK_NEVER 0 -#define DRI_CONF_VBLANK_DEF_INTERVAL_0 1 -#define DRI_CONF_VBLANK_DEF_INTERVAL_1 2 -#define DRI_CONF_VBLANK_ALWAYS_SYNC 3 -#define DRI_CONF_VBLANK_MODE(def) \ -DRI_CONF_OPT_BEGIN_V(vblank_mode,enum,def,"0:3") \ - DRI_CONF_DESC_BEGIN(en,gettext("Synchronization with vertical refresh (swap intervals)")) \ - DRI_CONF_ENUM(0,gettext("Never synchronize with vertical refresh, ignore application's choice")) \ - DRI_CONF_ENUM(1,gettext("Initial swap interval 0, obey application's choice")) \ - DRI_CONF_ENUM(2,gettext("Initial swap interval 1, obey application's choice")) \ - DRI_CONF_ENUM(3,gettext("Always synchronize with vertical refresh, application chooses the minimum swap interval")) \ - DRI_CONF_DESC_END \ -DRI_CONF_OPT_END - -#define DRI_CONF_HYPERZ_DISABLED 0 -#define DRI_CONF_HYPERZ_ENABLED 1 -#define DRI_CONF_HYPERZ(def) \ -DRI_CONF_OPT_BEGIN_B(hyperz, def) \ - DRI_CONF_DESC(en,gettext("Use HyperZ to boost performance")) \ -DRI_CONF_OPT_END - -#define DRI_CONF_MAX_TEXTURE_UNITS(def,min,max) \ -DRI_CONF_OPT_BEGIN_V(texture_units,int,def, # min ":" # max ) \ - DRI_CONF_DESC(en,gettext("Number of texture units used")) \ -DRI_CONF_OPT_END - -#define DRI_CONF_TEXTURE_BLEND_QUALITY(def,range) \ -DRI_CONF_OPT_BEGIN_V(texture_blend_quality,float,def,range) \ - DRI_CONF_DESC(en,gettext("Texture filtering quality vs. speed, AKA “brilinear” texture filtering")) \ -DRI_CONF_OPT_END - -#define DRI_CONF_TEXTURE_HEAPS_ALL 0 -#define DRI_CONF_TEXTURE_HEAPS_CARD 1 -#define DRI_CONF_TEXTURE_HEAPS_GART 2 -#define DRI_CONF_TEXTURE_HEAPS(def) \ -DRI_CONF_OPT_BEGIN_V(texture_heaps,enum,def,"0:2") \ - DRI_CONF_DESC_BEGIN(en,gettext("Used types of texture memory")) \ - DRI_CONF_ENUM(0,gettext("All available memory")) \ - DRI_CONF_ENUM(1,gettext("Only card memory (if available)")) \ - DRI_CONF_ENUM(2,gettext("Only GART (AGP/PCIE) memory (if available)")) \ - DRI_CONF_DESC_END \ -DRI_CONF_OPT_END - -#define DRI_CONF_MESA_GLTHREAD(def) \ -DRI_CONF_OPT_BEGIN_B(mesa_glthread, def) \ - DRI_CONF_DESC(en,gettext("Enable offloading GL driver work to a separate thread")) \ -DRI_CONF_OPT_END - -#define DRI_CONF_MESA_NO_ERROR(def) \ -DRI_CONF_OPT_BEGIN_B(mesa_no_error, def) \ - DRI_CONF_DESC(en,gettext("Disable GL driver error checking")) \ -DRI_CONF_OPT_END - -#define DRI_CONF_DISABLE_EXT_BUFFER_AGE(def) \ -DRI_CONF_OPT_BEGIN_B(glx_disable_ext_buffer_age, def) \ - DRI_CONF_DESC(en, gettext("Disable the GLX_EXT_buffer_age extension")) \ -DRI_CONF_OPT_END - -#define DRI_CONF_DISABLE_OML_SYNC_CONTROL(def) \ -DRI_CONF_OPT_BEGIN_B(glx_disable_oml_sync_control, def) \ - DRI_CONF_DESC(en, gettext("Disable the GLX_OML_sync_control extension")) \ -DRI_CONF_OPT_END - - -/** - * \brief Software-fallback options. To allow using features (like - * GL_ARB_vertex_program) on GPUs that don't otherwise support the feature. - */ -#define DRI_CONF_SECTION_SOFTWARE \ -DRI_CONF_SECTION_BEGIN \ - DRI_CONF_DESC(en,gettext("Features that are not hardware-accelerated")) - -#define DRI_CONF_ARB_VERTEX_PROGRAM(def) \ -DRI_CONF_OPT_BEGIN_B(arb_vertex_program, def) \ - DRI_CONF_DESC(en,gettext("Enable extension GL_ARB_vertex_program")) \ -DRI_CONF_OPT_END - - - -/** - * \brief Miscellaneous configuration options - */ -#define DRI_CONF_SECTION_MISCELLANEOUS \ -DRI_CONF_SECTION_BEGIN \ - DRI_CONF_DESC(en,gettext("Miscellaneous")) - -#define DRI_CONF_ALWAYS_HAVE_DEPTH_BUFFER(def) \ -DRI_CONF_OPT_BEGIN_B(always_have_depth_buffer, def) \ - DRI_CONF_DESC(en,gettext("Create all visuals with a depth buffer")) \ -DRI_CONF_OPT_END - -#define DRI_CONF_GLSL_ZERO_INIT(def) \ -DRI_CONF_OPT_BEGIN_B(glsl_zero_init, def) \ - DRI_CONF_DESC(en,gettext("Force uninitialized variables to default to zero")) \ -DRI_CONF_OPT_END - -/** - * \brief Initialization configuration options - */ -#define DRI_CONF_SECTION_INITIALIZATION \ -DRI_CONF_SECTION_BEGIN \ - DRI_CONF_DESC(en,gettext("Initialization")) - -#define DRI_CONF_DEVICE_ID_PATH_TAG(def) \ -DRI_CONF_OPT_BEGIN(device_id, string, def) \ - DRI_CONF_DESC(en,gettext("Define the graphic device to use if possible")) \ -DRI_CONF_OPT_END - -/** - * \brief Gallium-Nine specific configuration options - */ - -#define DRI_CONF_SECTION_NINE \ -DRI_CONF_SECTION_BEGIN \ - DRI_CONF_DESC(en,gettext("Gallium Nine")) - -#define DRI_CONF_NINE_THROTTLE(def) \ -DRI_CONF_OPT_BEGIN(throttle_value, int, def) \ - DRI_CONF_DESC(en,gettext("Define the throttling value. -1 for no throttling, -2 for default (usually 2), 0 for glfinish behaviour")) \ -DRI_CONF_OPT_END - -#define DRI_CONF_NINE_THREADSUBMIT(def) \ -DRI_CONF_OPT_BEGIN_B(thread_submit, def) \ - DRI_CONF_DESC(en,gettext("Use an additional thread to submit buffers.")) \ -DRI_CONF_OPT_END - -#define DRI_CONF_NINE_OVERRIDEVENDOR(def) \ -DRI_CONF_OPT_BEGIN(override_vendorid, int, def) \ - DRI_CONF_DESC(en,gettext("Define the vendor_id to report. This allows faking another hardware vendor.")) \ -DRI_CONF_OPT_END - -#define DRI_CONF_NINE_ALLOWDISCARDDELAYEDRELEASE(def) \ -DRI_CONF_OPT_BEGIN_B(discard_delayed_release, def) \ - DRI_CONF_DESC(en,gettext("Whether to allow the display server to release buffers with a delay when using d3d's presentation mode DISCARD. Default to true. Set to false if suffering from lag (thread_submit=true can also help in this situation).")) \ -DRI_CONF_OPT_END - -#define DRI_CONF_NINE_TEARFREEDISCARD(def) \ -DRI_CONF_OPT_BEGIN_B(tearfree_discard, def) \ - DRI_CONF_DESC(en,gettext("Whether to make d3d's presentation mode DISCARD (games usually use that mode) Tear Free. If rendering above screen refresh, some frames will get skipped. false by default.")) \ -DRI_CONF_OPT_END - -#define DRI_CONF_NINE_CSMT(def) \ -DRI_CONF_OPT_BEGIN(csmt_force, int, def) \ - DRI_CONF_DESC(en,gettext("If set to 1, force gallium nine CSMT. If set to 0, disable it. By default (-1) CSMT is enabled on known thread-safe drivers.")) \ -DRI_CONF_OPT_END |