|
|
|
@ -107,7 +107,6 @@ BufferState::BufferState(Context& context, std::vector<std::string>& extensions) |
|
|
|
copyImplementation = &Buffer::copyImplementationDSA; |
|
|
|
copyImplementation = &Buffer::copyImplementationDSA; |
|
|
|
getParameterImplementation = &Buffer::getParameterImplementationDSA; |
|
|
|
getParameterImplementation = &Buffer::getParameterImplementationDSA; |
|
|
|
getSubDataImplementation = &Buffer::getSubDataImplementationDSA; |
|
|
|
getSubDataImplementation = &Buffer::getSubDataImplementationDSA; |
|
|
|
dataImplementation = &Buffer::dataImplementationDSA; |
|
|
|
|
|
|
|
subDataImplementation = &Buffer::subDataImplementationDSA; |
|
|
|
subDataImplementation = &Buffer::subDataImplementationDSA; |
|
|
|
mapImplementation = &Buffer::mapImplementationDSA; |
|
|
|
mapImplementation = &Buffer::mapImplementationDSA; |
|
|
|
mapRangeImplementation = &Buffer::mapRangeImplementationDSA; |
|
|
|
mapRangeImplementation = &Buffer::mapRangeImplementationDSA; |
|
|
|
@ -123,7 +122,6 @@ BufferState::BufferState(Context& context, std::vector<std::string>& extensions) |
|
|
|
#ifndef MAGNUM_TARGET_GLES |
|
|
|
#ifndef MAGNUM_TARGET_GLES |
|
|
|
getSubDataImplementation = &Buffer::getSubDataImplementationDefault; |
|
|
|
getSubDataImplementation = &Buffer::getSubDataImplementationDefault; |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
dataImplementation = &Buffer::dataImplementationDefault; |
|
|
|
|
|
|
|
subDataImplementation = &Buffer::subDataImplementationDefault; |
|
|
|
subDataImplementation = &Buffer::subDataImplementationDefault; |
|
|
|
#ifndef MAGNUM_TARGET_WEBGL |
|
|
|
#ifndef MAGNUM_TARGET_WEBGL |
|
|
|
mapImplementation = &Buffer::mapImplementationDefault; |
|
|
|
mapImplementation = &Buffer::mapImplementationDefault; |
|
|
|
@ -181,6 +179,24 @@ BufferState::BufferState(Context& context, std::vector<std::string>& extensions) |
|
|
|
setTargetHintImplementation = &Buffer::setTargetHintImplementationDefault; |
|
|
|
setTargetHintImplementation = &Buffer::setTargetHintImplementationDefault; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef MAGNUM_TARGET_GLES |
|
|
|
|
|
|
|
if(context.isExtensionSupported<Extensions::ARB::direct_state_access>()) { |
|
|
|
|
|
|
|
#ifdef CORRADE_TARGET_WINDOWS |
|
|
|
|
|
|
|
if((context.detectedDriver() & Context::DetectedDriver::IntelWindows) && |
|
|
|
|
|
|
|
!context.isDriverWorkaroundDisabled("intel-windows-buggy-dsa-bufferdata-for-index-buffers")) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
dataImplementation = &Buffer::dataImplementationDSAIntelWindows; |
|
|
|
|
|
|
|
} else |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
dataImplementation = &Buffer::dataImplementationDSA; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} else |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
dataImplementation = &Buffer::dataImplementationDefault; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
#ifdef MAGNUM_TARGET_GLES |
|
|
|
#ifdef MAGNUM_TARGET_GLES |
|
|
|
static_cast<void>(context); |
|
|
|
static_cast<void>(context); |
|
|
|
static_cast<void>(extensions); |
|
|
|
static_cast<void>(extensions); |
|
|
|
|