[Mesa-dev] Building Mesa for Windows using Visual Studio
Jose Fonseca
jfonseca at vmware.com
Tue Apr 14 06:10:18 PDT 2015
On 14/04/15 13:41, Emil Velikov wrote:
> Hi Shervin,
>
> On 14 April 2015 at 00:22, Shervin Sharifi <shervin0 at gmail.com> wrote:
>> Hi,
>> I tried to use Mesa (compiled with MSVC) to run OpenGL ES content on
>> Windows . I ran into a few problems.
>> I don't know if this is the right way of reporting issues, but thought
>> people may be interested to know.
>>
> Another thing would be to file a bug report, although most people
> appreciate patches (send via git send-email) even more :-)
>
>> Here's a piece of code in functions _mesa_dlopen(const char*, int) in
>> src\mesa\main\dlopen.h (same problem happens with function _mesa_dlsym(void
>> *, const char *) in the same file).
>>
>> The original code returns NULL and doesn't load the library if the code is
>> compiled with Visual Studio.
>>
> True but is the library, that is to be opened, there in the first
> place ? Last time I've looked nothing seriously bad was happening
> (apart from the missing EXT_texture_compression_s3tc and
> ANGLE_texture_compression_dxt extensions) when we fail to open the
> dxtn library.
>
> Cheers,
> Emil
>
>> #if defined(HAVE_DLOPEN)
>> flags = RTLD_LAZY | RTLD_GLOBAL; /* Overriding flags at this time */
>> return dlopen(libname, flags);
>> #elif defined(__MINGW32__)
>> return LoadLibraryA(libname);
>> #else
>> return NULL;
>> #endif
>>
>> Adding the following lines to the code resolves the problem:
>>
>> #elif defined(_WIN32)
>> return LoadLibraryA(libname);
>>
>> Thanks,
>> Shervin
>>
Yep, the C-pre-processor logic is wrong.
But as Emil said, unless you actually have a Windows build of the
libtxc_dxtn library it won't make any difference in practice.
Jose
More information about the mesa-dev
mailing list