summaryrefslogtreecommitdiffstats
path: root/gpu
diff options
context:
space:
mode:
authorthakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-04 20:15:19 +0000
committerthakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-04 20:15:19 +0000
commitf7fa6117a38f5e2710d7d519a0414d31e17dcfd3 (patch)
treeeab5b7fb2784610e577dcb7db21c9739636a145e /gpu
parent8c64991a5c2d7e3cb61ed79340676dc9c4a03047 (diff)
downloadchromium_src-f7fa6117a38f5e2710d7d519a0414d31e17dcfd3.zip
chromium_src-f7fa6117a38f5e2710d7d519a0414d31e17dcfd3.tar.gz
chromium_src-f7fa6117a38f5e2710d7d519a0414d31e17dcfd3.tar.bz2
Remove all the duplicate macros and types in command_buffer/common/types.h.
(The motivation is that base's COMPILE_ASSERT uses static_assert if available, while this file's COMPILE_ASSERT didn't.) BUG=321833 NOTRY=true Review URL: https://codereview.chromium.org/267963004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@268123 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gpu')
-rw-r--r--gpu/command_buffer/common/cmd_buffer_common.h8
-rw-r--r--gpu/command_buffer/common/types.h180
-rw-r--r--gpu/command_buffer/service/gles2_cmd_decoder.cc8
3 files changed, 12 insertions, 184 deletions
diff --git a/gpu/command_buffer/common/cmd_buffer_common.h b/gpu/command_buffer/common/cmd_buffer_common.h
index ef6b932..979d746 100644
--- a/gpu/command_buffer/common/cmd_buffer_common.h
+++ b/gpu/command_buffer/common/cmd_buffer_common.h
@@ -41,8 +41,8 @@ inline size_t RoundSizeToMultipleOfEntries(size_t size_in_bytes) {
// Struct that defines the command header in the command buffer.
struct CommandHeader {
- Uint32 size:21;
- Uint32 command:11;
+ uint32 size:21;
+ uint32 command:11;
GPU_EXPORT static const int32 kMaxSize = (1 << 21) - 1;
@@ -82,8 +82,8 @@ COMPILE_ASSERT(sizeof(CommandHeader) == 4, Sizeof_CommandHeader_is_not_4);
// Union that defines possible command buffer entries.
union CommandBufferEntry {
CommandHeader value_header;
- Uint32 value_uint32;
- Int32 value_int32;
+ uint32 value_uint32;
+ int32 value_int32;
float value_float;
};
diff --git a/gpu/command_buffer/common/types.h b/gpu/command_buffer/common/types.h
index 718ecca..2e2d13a 100644
--- a/gpu/command_buffer/common/types.h
+++ b/gpu/command_buffer/common/types.h
@@ -2,185 +2,13 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-// This file contains cross-platform basic type definitions
+// TODO(thakis): Change all files that include this file to instead include the
+// base files below directly and remove this file.
#ifndef GPU_COMMAND_BUFFER_COMMON_TYPES_H_
#define GPU_COMMAND_BUFFER_COMMON_TYPES_H_
-#if !defined(_MSC_VER)
-#include <stdint.h>
-#endif
-#include <cstddef>
-#include <string>
-
-typedef signed char schar;
-typedef signed char int8;
-// TODO(mbelshe) Remove these type guards. These are
-// temporary to avoid conflicts with npapi.h.
-#ifndef _INT16
-#define _INT16
-typedef short int16;
-#endif
-#ifndef _INT32
-#define _INT32
-typedef int int32;
-#endif
-
-// The NSPR system headers define 64-bit as |long| when possible. In order to
-// not have typedef mismatches, we do the same on LP64.
-#if defined(__LP64__) && !defined(__APPLE__) && !defined(__OpenBSD__)
-typedef long int64;
-#else
-typedef long long int64;
-#endif
-
-// NOTE: unsigned types are DANGEROUS in loops and other arithmetical
-// places. Use the signed types unless your variable represents a bit
-// pattern (eg a hash value) or you really need the extra bit. Do NOT
-// use 'unsigned' to express "this value should always be positive";
-// use assertions for this.
-
-typedef unsigned char uint8;
-// TODO(mbelshe) Remove these type guards. These are
-// temporary to avoid conflicts with npapi.h.
-#ifndef _UINT16
-#define _UINT16
-typedef unsigned short uint16;
-#endif
-#ifndef _UINT32
-#define _UINT32
-typedef unsigned int uint32;
-#endif
-
-// See the comment above about NSPR and 64-bit.
-#if defined(__LP64__) && !defined(__APPLE__) && !defined(__OpenBSD__)
-typedef unsigned long uint64;
-#else
-typedef unsigned long long uint64;
-#endif
-
-// A macro to disallow the copy constructor and operator= functions
-// This should be used in the private: declarations for a class
-#define DISALLOW_COPY_AND_ASSIGN(TypeName) \
- TypeName(const TypeName&); \
- void operator=(const TypeName&)
-
-// A macro to disallow all the implicit constructors, namely the
-// default constructor, copy constructor and operator= functions.
-//
-// This should be used in the private: declarations for a class
-// that wants to prevent anyone from instantiating it. This is
-// especially useful for classes containing only static methods.
-#define DISALLOW_IMPLICIT_CONSTRUCTORS(TypeName) \
- TypeName(); \
- DISALLOW_COPY_AND_ASSIGN(TypeName)
-
-// The arraysize(arr) macro returns the # of elements in an array arr.
-// The expression is a compile-time constant, and therefore can be
-// used in defining new arrays, for example. If you use arraysize on
-// a pointer by mistake, you will get a compile-time error.
-//
-// One caveat is that arraysize() doesn't accept any array of an
-// anonymous type or a type defined inside a function. In these rare
-// cases, you have to use the unsafe ARRAYSIZE_UNSAFE() macro below. This is
-// due to a limitation in C++'s template system. The limitation might
-// eventually be removed, but it hasn't happened yet.
-
-// This template function declaration is used in defining arraysize.
-// Note that the function doesn't need an implementation, as we only
-// use its type.
-template <typename T, size_t N>
-char (&ArraySizeHelper(T (&array)[N]))[N];
-
-// That gcc wants both of these prototypes seems mysterious. VC, for
-// its part, can't decide which to use (another mystery). Matching of
-// template overloads: the final frontier.
-#if !defined(_MSC_VER)
-template <typename T, size_t N>
-char (&ArraySizeHelper(const T (&array)[N]))[N];
-#endif
-
-#define arraysize(array) (sizeof(ArraySizeHelper(array)))
-
-// The COMPILE_ASSERT macro can be used to verify that a compile time
-// expression is true. For example, you could use it to verify the
-// size of a static array:
-//
-// COMPILE_ASSERT(ARRAYSIZE_UNSAFE(content_type_names) == CONTENT_NUM_TYPES,
-// content_type_names_incorrect_size);
-//
-// or to make sure a struct is smaller than a certain size:
-//
-// COMPILE_ASSERT(sizeof(foo) < 128, foo_too_large);
-//
-// The second argument to the macro is the name of the variable. If
-// the expression is false, most compilers will issue a warning/error
-// containing the name of the variable.
-
-template <bool>
-struct GpuCompileAssert {
-};
-
-#undef COMPILE_ASSERT
-#define COMPILE_ASSERT(expr, msg) \
- typedef GpuCompileAssert<(bool(expr))> msg[bool(expr) ? 1 : -1]
-
-// Implementation details of COMPILE_ASSERT:
-//
-// - COMPILE_ASSERT works by defining an array type that has -1
-// elements (and thus is invalid) when the expression is false.
-//
-// - The simpler definition
-//
-// #define COMPILE_ASSERT(expr, msg) typedef char msg[(expr) ? 1 : -1]
-//
-// does not work, as gcc supports variable-length arrays whose sizes
-// are determined at run-time (this is gcc's extension and not part
-// of the C++ standard). As a result, gcc fails to reject the
-// following code with the simple definition:
-//
-// int foo;
-// COMPILE_ASSERT(foo, msg); // not supposed to compile as foo is
-// // not a compile-time constant.
-//
-// - By using the type CompileAssert<(bool(expr))>, we ensures that
-// expr is a compile-time constant. (Template arguments must be
-// determined at compile-time.)
-//
-// - The outter parentheses in CompileAssert<(bool(expr))> are necessary
-// to work around a bug in gcc 3.4.4 and 4.0.1. If we had written
-//
-// CompileAssert<bool(expr)>
-//
-// instead, these compilers will refuse to compile
-//
-// COMPILE_ASSERT(5 > 0, some_message);
-//
-// (They seem to think the ">" in "5 > 0" marks the end of the
-// template argument list.)
-//
-// - The array size is (bool(expr) ? 1 : -1), instead of simply
-//
-// ((expr) ? 1 : -1).
-//
-// This is to avoid running into a bug in MS VC 7.1, which
-// causes ((0.0) ? 1 : -1) to incorrectly evaluate to 1.
-
-namespace gpu {
-#if defined(_MSC_VER)
-typedef short Int16;
-typedef unsigned short Uint16;
-typedef int Int32;
-typedef unsigned int Uint32;
-#else
-typedef int16_t Int16;
-typedef uint16_t Uint16;
-typedef int32_t Int32;
-typedef uint32_t Uint32;
-#endif
-
-typedef std::string String;
-
-} // namespace gpu
+#include "base/basictypes.h"
+#include "base/macros.h"
#endif // GPU_COMMAND_BUFFER_COMMON_TYPES_H_
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder.cc b/gpu/command_buffer/service/gles2_cmd_decoder.cc
index 5df3674..e690bc3 100644
--- a/gpu/command_buffer/service/gles2_cmd_decoder.cc
+++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc
@@ -4706,7 +4706,7 @@ error::Error GLES2DecoderImpl::HandleBindAttribLocation(
if (name == NULL) {
return error::kOutOfBounds;
}
- String name_str(name, name_size);
+ std::string name_str(name, name_size);
DoBindAttribLocation(program, index, name_str.c_str());
return error::kNoError;
}
@@ -4771,7 +4771,7 @@ error::Error GLES2DecoderImpl::HandleBindUniformLocationCHROMIUM(
if (name == NULL) {
return error::kOutOfBounds;
}
- String name_str(name, name_size);
+ std::string name_str(name, name_size);
DoBindUniformLocationCHROMIUM(program, location, name_str.c_str());
return error::kNoError;
}
@@ -7621,7 +7621,7 @@ error::Error GLES2DecoderImpl::HandleGetAttribLocation(
if (!name) {
return error::kOutOfBounds;
}
- String name_str(name, name_size);
+ std::string name_str(name, name_size);
return GetAttribLocationHelper(
c.program, c.location_shm_id, c.location_shm_offset, name_str);
}
@@ -7680,7 +7680,7 @@ error::Error GLES2DecoderImpl::HandleGetUniformLocation(
if (!name) {
return error::kOutOfBounds;
}
- String name_str(name, name_size);
+ std::string name_str(name, name_size);
return GetUniformLocationHelper(
c.program, c.location_shm_id, c.location_shm_offset, name_str);
}