# Need a separate config to ensure the warnings are added to the end.
config("swiftshader_common_private_config") {
if (is_win) {
- cflags = [ "/wd4201" ] # nameless struct/union
+ cflags = [
+ "/wd4201", # nameless struct/union
+ "/wd5030", # attribute is not recognized
+ ]
} else {
cflags = [ "-msse2" ]
defines = [ "LOG_TAG=\"swiftshader_common\"" ]
# Need a separate config to ensure the warnings are added to the end.
config("swiftshader_main_private_config") {
if (is_win) {
- cflags = [ "/wd4201" ] # nameless struct/union
+ cflags = [
+ "/wd4201", # nameless struct/union
+ "/wd5030", # attribute is not recognized
+ ]
if (is_clang) {
cflags += [
int cursorHeight;
};
- class FrameBuffer
+ class [[clang::lto_visibility_public]] FrameBuffer
{
virtual void typeinfo(); // Dummy key method (https://gcc.gnu.org/onlinedocs/gcc/Vague-Linkage.html)
cflags = [
"/wd4201", # nameless struct/union
"/wd4324", # structure was padded due to alignment specifier
+ "/wd5030", # attribute is not recognized
]
} else {
defines = [ "LOG_TAG=\"swiftshader_opengl_common\"" ]
GLsizei ComputeCompressedSize(GLsizei width, GLsizei height, GLenum format);
size_t ComputePackingOffset(GLenum format, GLenum type, GLsizei width, GLsizei height, GLint alignment, GLint skipImages, GLint skipRows, GLint skipPixels);
-class Image : public sw::Surface, public gl::Object
+class [[clang::lto_visibility_public]] Image : public sw::Surface, public gl::Object
{
virtual void typeinfo(); // Dummy key method (https://gcc.gnu.org/onlinedocs/gcc/Vague-Linkage.html)
namespace gl
{
-class Object
+class [[clang::lto_visibility_public]] Object
{
public:
Object();
"/wd4201", # nameless struct/union
"/wd4267", # conversion from size_t to int/unsigned int
"/wd4702", # unreachable code (in autogenerated code)
+ "/wd5030", # attribute is not recognized
]
if (!is_debug) {
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
<BrowseInformation>true</BrowseInformation>\r
<TreatWarningAsError>true</TreatWarningAsError>\r
- <DisableSpecificWarnings>4005;</DisableSpecificWarnings>\r
+ <DisableSpecificWarnings>5030;4005;</DisableSpecificWarnings>\r
<MultiProcessorCompilation>true</MultiProcessorCompilation>\r
</ClCompile>\r
</ItemDefinitionGroup>\r
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
<BrowseInformation>true</BrowseInformation>\r
<TreatWarningAsError>true</TreatWarningAsError>\r
- <DisableSpecificWarnings>4005;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>\r
+ <DisableSpecificWarnings>5030;4005;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>\r
<MultiProcessorCompilation>true</MultiProcessorCompilation>\r
</ClCompile>\r
</ItemDefinitionGroup>\r
<WarningLevel>Level3</WarningLevel>\r
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
<TreatWarningAsError>true</TreatWarningAsError>\r
- <DisableSpecificWarnings>4005;</DisableSpecificWarnings>\r
+ <DisableSpecificWarnings>5030;4005;</DisableSpecificWarnings>\r
<MultiProcessorCompilation>true</MultiProcessorCompilation>\r
</ClCompile>\r
</ItemDefinitionGroup>\r
<WarningLevel>Level3</WarningLevel>\r
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
<TreatWarningAsError>true</TreatWarningAsError>\r
- <DisableSpecificWarnings>4005;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>\r
+ <DisableSpecificWarnings>5030;4005;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>\r
<MultiProcessorCompilation>true</MultiProcessorCompilation>\r
</ClCompile>\r
</ItemDefinitionGroup>\r
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
<OmitFramePointers>false</OmitFramePointers>\r
<TreatWarningAsError>true</TreatWarningAsError>\r
- <DisableSpecificWarnings>4005;</DisableSpecificWarnings>\r
+ <DisableSpecificWarnings>5030;4005;</DisableSpecificWarnings>\r
</ClCompile>\r
</ItemDefinitionGroup>\r
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Profile|x64'">\r
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
<OmitFramePointers>false</OmitFramePointers>\r
<TreatWarningAsError>true</TreatWarningAsError>\r
- <DisableSpecificWarnings>4005;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>\r
+ <DisableSpecificWarnings>5030;4005;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>\r
</ClCompile>\r
</ItemDefinitionGroup>\r
<ItemGroup>\r
cflags = [
"/wd4201", # nameless struct/union
"/wd4065", # switch statement contains 'default' but no 'case' labels
+ "/wd5030", # attribute is not recognized
]
defines += [
class Surface;
class Image;
-class Context : public gl::Object
+class [[clang::lto_visibility_public]] Context : public gl::Object
{
public:
Context(egl::Display *display) : display(display) {}
const EGLDisplay PRIMARY_DISPLAY = reinterpret_cast<EGLDisplay>((intptr_t)1);
const EGLDisplay HEADLESS_DISPLAY = reinterpret_cast<EGLDisplay>((intptr_t)0xFACE1E55);
- class Display
+ class [[clang::lto_visibility_public]] Display
{
virtual void typeinfo(); // Dummy key method (https://gcc.gnu.org/onlinedocs/gcc/Vague-Linkage.html)
class Texture;
class Image;
-class Surface : public gl::Object
+class [[clang::lto_visibility_public]] Surface : public gl::Object
{
virtual void typeinfo(); // Dummy key method (https://gcc.gnu.org/onlinedocs/gcc/Vague-Linkage.html)
<BrowseInformation>true</BrowseInformation>\r
<TreatWarningAsError>true</TreatWarningAsError>\r
<MultiProcessorCompilation>true</MultiProcessorCompilation>\r
+ <DisableSpecificWarnings>5030</DisableSpecificWarnings>\r
</ClCompile>\r
<Link>\r
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>\r
<BrowseInformation>true</BrowseInformation>\r
<TreatWarningAsError>true</TreatWarningAsError>\r
<MultiProcessorCompilation>true</MultiProcessorCompilation>\r
+ <DisableSpecificWarnings>5030</DisableSpecificWarnings>\r
</ClCompile>\r
<Link>\r
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>\r
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
<TreatWarningAsError>true</TreatWarningAsError>\r
<MultiProcessorCompilation>true</MultiProcessorCompilation>\r
+ <DisableSpecificWarnings>5030</DisableSpecificWarnings>\r
</ClCompile>\r
<Link>\r
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>\r
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
<TreatWarningAsError>true</TreatWarningAsError>\r
<MultiProcessorCompilation>true</MultiProcessorCompilation>\r
+ <DisableSpecificWarnings>5030</DisableSpecificWarnings>\r
</ClCompile>\r
<Link>\r
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>\r
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
<OmitFramePointers>false</OmitFramePointers>\r
<TreatWarningAsError>true</TreatWarningAsError>\r
+ <DisableSpecificWarnings>5030</DisableSpecificWarnings>\r
</ClCompile>\r
<Link>\r
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>\r
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
<OmitFramePointers>false</OmitFramePointers>\r
<TreatWarningAsError>true</TreatWarningAsError>\r
+ <DisableSpecificWarnings>5030</DisableSpecificWarnings>\r
</ClCompile>\r
<Link>\r
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>\r
cflags = [
"/wd4201", # nameless struct/union
"/wd4324", # structure was padded due to alignment specifier
+ "/wd5030", # attribute is not recognized
]
defines += [
GLint packSkipImages;
};
-class Context : public egl::Context
+class [[clang::lto_visibility_public]] Context : public egl::Context
{
public:
Context(egl::Display *display, const Context *shareContext, EGLint clientVersion);
- virtual void makeCurrent(egl::Surface *surface);
+ void makeCurrent(egl::Surface *surface) override;
virtual EGLint getClientVersion() const;
void markAllStateDirty();
void clearStencilBuffer(const GLint value);
void drawArrays(GLenum mode, GLint first, GLsizei count, GLsizei instanceCount = 1);
void drawElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLsizei instanceCount = 1);
- void finish();
+ void finish() override;
void flush();
void recordInvalidEnum();
GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1,
GLbitfield mask, bool filter, bool allowPartialDepthStencilBlit);
- virtual void bindTexImage(egl::Surface *surface);
- virtual EGLenum validateSharedImage(EGLenum target, GLuint name, GLuint textureLevel);
- virtual egl::Image *createSharedImage(EGLenum target, GLuint name, GLuint textureLevel);
+ void bindTexImage(egl::Surface *surface) override;
+ EGLenum validateSharedImage(EGLenum target, GLuint name, GLuint textureLevel) override;
+ egl::Image *createSharedImage(EGLenum target, GLuint name, GLuint textureLevel) override;
egl::Image *getSharedImage(GLeglImageOES image);
Device *getDevice();
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
<BrowseInformation>true</BrowseInformation>\r
<TreatWarningAsError>true</TreatWarningAsError>\r
- <DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>\r
+ <DisableSpecificWarnings>5030;%(DisableSpecificWarnings)</DisableSpecificWarnings>\r
<MultiProcessorCompilation>true</MultiProcessorCompilation>\r
</ClCompile>\r
<Link>\r
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
<BrowseInformation>true</BrowseInformation>\r
<TreatWarningAsError>true</TreatWarningAsError>\r
- <DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>\r
+ <DisableSpecificWarnings>5030;%(DisableSpecificWarnings)</DisableSpecificWarnings>\r
<MultiProcessorCompilation>true</MultiProcessorCompilation>\r
</ClCompile>\r
<Link>\r
<WholeProgramOptimization>true</WholeProgramOptimization>\r
<IntrinsicFunctions>false</IntrinsicFunctions>\r
<TreatWarningAsError>true</TreatWarningAsError>\r
- <DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>\r
+ <DisableSpecificWarnings>5030;%(DisableSpecificWarnings)</DisableSpecificWarnings>\r
<MultiProcessorCompilation>true</MultiProcessorCompilation>\r
</ClCompile>\r
<Link>\r
<WholeProgramOptimization>true</WholeProgramOptimization>\r
<IntrinsicFunctions>false</IntrinsicFunctions>\r
<TreatWarningAsError>true</TreatWarningAsError>\r
- <DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>\r
+ <DisableSpecificWarnings>5030;%(DisableSpecificWarnings)</DisableSpecificWarnings>\r
<MultiProcessorCompilation>true</MultiProcessorCompilation>\r
</ClCompile>\r
<Link>\r
<WholeProgramOptimization>true</WholeProgramOptimization>\r
<IntrinsicFunctions>false</IntrinsicFunctions>\r
<TreatWarningAsError>true</TreatWarningAsError>\r
- <DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>\r
+ <DisableSpecificWarnings>5030;%(DisableSpecificWarnings)</DisableSpecificWarnings>\r
</ClCompile>\r
<Link>\r
<AdditionalDependencies>dxguid.lib;WS2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
<WholeProgramOptimization>true</WholeProgramOptimization>\r
<IntrinsicFunctions>false</IntrinsicFunctions>\r
<TreatWarningAsError>true</TreatWarningAsError>\r
- <DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>\r
+ <DisableSpecificWarnings>5030;%(DisableSpecificWarnings)</DisableSpecificWarnings>\r
</ClCompile>\r
<Link>\r
<AdditionalDependencies>dxguid.lib;WS2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
cflags = [
"/wd4201", # nameless struct/union
"/wd4324", # structure was padded due to alignment specifier
+ "/wd5030", # attribute is not recognized
]
} else {
cflags = [
LOCK_DISCARD
};
- class Surface
+ class [[clang::lto_visibility_public]] Surface
{
private:
struct Buffer
cflags = [
"/wd4201", # nameless struct/union
"/wd4324", # structure was padded due to alignment specifier
+ "/wd5030", # attribute is not recognized
]
if (is_clang) {
<BrowseInformation>true</BrowseInformation>\r
<WarningLevel>Level3</WarningLevel>\r
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
- <DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>\r
+ <DisableSpecificWarnings>5030;%(DisableSpecificWarnings)</DisableSpecificWarnings>\r
<RuntimeTypeInfo>false</RuntimeTypeInfo>\r
<TreatWarningAsError>true</TreatWarningAsError>\r
<MultiProcessorCompilation>true</MultiProcessorCompilation>\r
<BrowseInformation>true</BrowseInformation>\r
<WarningLevel>Level3</WarningLevel>\r
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
- <DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>\r
+ <DisableSpecificWarnings>5030;%(DisableSpecificWarnings)</DisableSpecificWarnings>\r
<RuntimeTypeInfo>false</RuntimeTypeInfo>\r
<TreatWarningAsError>true</TreatWarningAsError>\r
<MultiProcessorCompilation>true</MultiProcessorCompilation>\r
<WarningLevel>Level3</WarningLevel>\r
<DebugInformationFormat>\r
</DebugInformationFormat>\r
- <DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>\r
+ <DisableSpecificWarnings>5030;%(DisableSpecificWarnings)</DisableSpecificWarnings>\r
<ForcedIncludeFiles>%(ForcedIncludeFiles)</ForcedIncludeFiles>\r
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>\r
<StringPooling>true</StringPooling>\r
</PrecompiledHeader>\r
<WarningLevel>Level3</WarningLevel>\r
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
- <DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>\r
+ <DisableSpecificWarnings>5030;%(DisableSpecificWarnings)</DisableSpecificWarnings>\r
<ForcedIncludeFiles>%(ForcedIncludeFiles)</ForcedIncludeFiles>\r
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>\r
<StringPooling>true</StringPooling>\r
<WarningLevel>Level3</WarningLevel>\r
<DebugInformationFormat>\r
</DebugInformationFormat>\r
- <DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>\r
+ <DisableSpecificWarnings>5030;%(DisableSpecificWarnings)</DisableSpecificWarnings>\r
<ForcedIncludeFiles>%(ForcedIncludeFiles)</ForcedIncludeFiles>\r
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>\r
<StringPooling>true</StringPooling>\r
</PrecompiledHeader>\r
<WarningLevel>Level3</WarningLevel>\r
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
- <DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>\r
+ <DisableSpecificWarnings>5030;%(DisableSpecificWarnings)</DisableSpecificWarnings>\r
<ForcedIncludeFiles>%(ForcedIncludeFiles)</ForcedIncludeFiles>\r
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>\r
<StringPooling>true</StringPooling>\r