[Mesa-dev] [PATCH 4/4] dri: Add a default drirc to be installed to provide application workarounds.
Ian Romanick
idr at freedesktop.org
Thu Jan 26 15:26:58 PST 2012
On 01/25/2012 02:56 PM, Marek Olšák wrote:
> Hi Eric,
>
> I don't like this, because I don't have drirc in my system. Obviously
In addition to what Eric and Ken said, each user can have their own
~/.drirc or can set the options via environment variables.
force_glsl_extensions_warn=true ./some_gl_application
> Canonical decided not to include it and that also means some of my
> users don't have it. Please can we add workarounds directly in the
> code and on a per-app basis? Something like:
>
> if (is_linked("libUnigine_x86.so") ||
> is_linked("libUnigine_x64.so"))
> apply_workarounds_for_unigine();
Putting different behavior based on hardcoded application names was such
a good idea in the past. :)
http://www.nvnews.net/vbulletin/archive/index.php/t-11917.html
It also appears the Unigen may be resolving some of these issues. That
may make the work-arounds irrelevant.
http://phoronix.com/forums/showthread.php?68411-Unigine-OilRush-Officially-Ships-Today-For-Linux&p=248294#post248294
> Marek
>
> On Wed, Jan 25, 2012 at 11:29 PM, Eric Anholt<eric at anholt.net> wrote:
>> Specifially, this being present works around a bug in Unigine
>> Sanctuary on i965 which previously resulted in bad rendering.
>> ---
>> configure.ac | 1 +
>> src/mesa/drivers/dri/Makefile.am | 2 +-
>> src/mesa/drivers/dri/common/Makefile.am | 22 ++++++++++++++++++++++
>> src/mesa/drivers/dri/common/drirc | 7 +++++++
>> src/mesa/drivers/dri/common/xmlpool/options.h | 12 ++++++------
>> 5 files changed, 37 insertions(+), 7 deletions(-)
>> create mode 100644 src/mesa/drivers/dri/common/Makefile.am
>> create mode 100644 src/mesa/drivers/dri/common/drirc
>>
>> diff --git a/configure.ac b/configure.ac
>> index 2472cc1..b3cdf13 100644
>> --- a/configure.ac
>> +++ b/configure.ac
>> @@ -1948,6 +1948,7 @@ AC_CONFIG_FILES([configs/autoconf
>> src/gbm/main/gbm.pc
>> src/mesa/drivers/dri/dri.pc
>> src/mesa/drivers/dri/Makefile
>> + src/mesa/drivers/dri/common/Makefile
>> src/mesa/drivers/dri/i915/Makefile
>> src/mesa/drivers/dri/i965/Makefile
>> src/mesa/drivers/dri/nouveau/Makefile
>> diff --git a/src/mesa/drivers/dri/Makefile.am b/src/mesa/drivers/dri/Makefile.am
>> index 3722082..8dea0ac 100644
>> --- a/src/mesa/drivers/dri/Makefile.am
>> +++ b/src/mesa/drivers/dri/Makefile.am
>> @@ -1,4 +1,4 @@
>> -SUBDIRS=
>> +SUBDIRS=common
>>
>> if HAVE_I915_DRI
>> SUBDIRS+=i915
>> diff --git a/src/mesa/drivers/dri/common/Makefile.am b/src/mesa/drivers/dri/common/Makefile.am
>> new file mode 100644
>> index 0000000..3b5324d
>> --- /dev/null
>> +++ b/src/mesa/drivers/dri/common/Makefile.am
>> @@ -0,0 +1,22 @@
>> +# Copyright © 2012 Intel Corporation
>> +#
>> +# Permission is hereby granted, free of charge, to any person obtaining a
>> +# copy of this software and associated documentation files (the "Software"),
>> +# to deal in the Software without restriction, including without limitation
>> +# the rights to use, copy, modify, merge, publish, distribute, sublicense,
>> +# and/or sell copies of the Software, and to permit persons to whom the
>> +# Software is furnished to do so, subject to the following conditions:
>> +#
>> +# The above copyright notice and this permission notice (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.
>> +
>> +sysconf_DATA = drirc
>> diff --git a/src/mesa/drivers/dri/common/drirc b/src/mesa/drivers/dri/common/drirc
>> new file mode 100644
>> index 0000000..7abc646
>> --- /dev/null
>> +++ b/src/mesa/drivers/dri/common/drirc
>> @@ -0,0 +1,7 @@
>> +<driconf>
>> +<device screen="0" driver="i965">
>> +<application name="Sanctuary">
>> +<option name="force_glsl_extensions_warn" value="true" />
>> +</application>
>> +</device>
>> +</driconf>
>> diff --git a/src/mesa/drivers/dri/common/xmlpool/options.h b/src/mesa/drivers/dri/common/xmlpool/options.h
>> index a5890af..75c887e 100644
>> --- a/src/mesa/drivers/dri/common/xmlpool/options.h
>> +++ b/src/mesa/drivers/dri/common/xmlpool/options.h
>> @@ -629,10 +629,10 @@ DRI_CONF_OPT_END
>>
>> #define DRI_CONF_FORCE_GLSL_EXTENSIONS_WARN(def) \
>> DRI_CONF_OPT_BEGIN(force_glsl_extensions_warn,bool,def) \
>> - DRI_CONF_DESC(en,"Force GLSL extension default behavior to \"warn\"") \
>> - DRI_CONF_DESC(de,"Force GLSL extension default behavior to \"warn\"") \
>> - DRI_CONF_DESC(es,"Force GLSL extension default behavior to \"warn\"") \
>> - DRI_CONF_DESC(nl,"Force GLSL extension default behavior to \"warn\"") \
>> - DRI_CONF_DESC(fr,"Force GLSL extension default behavior to \"warn\"") \
>> - DRI_CONF_DESC(sv,"Force GLSL extension default behavior to \"warn\"") \
>> + DRI_CONF_DESC(en,"Force GLSL extension default behavior to 'warn'") \
>> + DRI_CONF_DESC(de,"Force GLSL extension default behavior to 'warn'") \
>> + DRI_CONF_DESC(es,"Force GLSL extension default behavior to 'warn'") \
>> + DRI_CONF_DESC(nl,"Force GLSL extension default behavior to 'warn'") \
>> + DRI_CONF_DESC(fr,"Force GLSL extension default behavior to 'warn'") \
>> + DRI_CONF_DESC(sv,"Force GLSL extension default behavior to 'warn'") \
>> DRI_CONF_OPT_END
>> --
>> 1.7.7.3
>>
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
More information about the mesa-dev
mailing list