summaryrefslogtreecommitdiffstats
path: root/o3d
diff options
context:
space:
mode:
authorpetersont@google.com <petersont@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-05 22:13:45 +0000
committerpetersont@google.com <petersont@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-05 22:13:45 +0000
commit4f89c75a457bdb7b30c2e5270ce71d6cf8a460dd (patch)
tree69605672f4282b05d8ef43106844a049f5d50c3d /o3d
parentb86c8c142f6b36564b05ebceebaa005761c513ca (diff)
downloadchromium_src-4f89c75a457bdb7b30c2e5270ce71d6cf8a460dd.zip
chromium_src-4f89c75a457bdb7b30c2e5270ce71d6cf8a460dd.tar.gz
chromium_src-4f89c75a457bdb7b30c2e5270ce71d6cf8a460dd.tar.bz2
Changed line endings on these files to newline characters. This is an attempt to clear up an inconsistency that brings up an annoying dialog in msvs.
Review URL: http://codereview.chromium.org/243062 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28056 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'o3d')
-rw-r--r--o3d/command_buffer/service/win/d3d9/gapi_d3d9.h964
-rw-r--r--o3d/command_buffer/service/win/d3d9/texture_d3d9.h24
2 files changed, 494 insertions, 494 deletions
diff --git a/o3d/command_buffer/service/win/d3d9/gapi_d3d9.h b/o3d/command_buffer/service/win/d3d9/gapi_d3d9.h
index ca1adce..1965407 100644
--- a/o3d/command_buffer/service/win/d3d9/gapi_d3d9.h
+++ b/o3d/command_buffer/service/win/d3d9/gapi_d3d9.h
@@ -1,406 +1,406 @@
-/*
- * Copyright 2009, Google Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-
-// This file contains the GAPID3D9 class, implementing the GAPI interface for
-// D3D9.
-
-#ifndef O3D_COMMAND_BUFFER_SERVICE_WIN_D3D9_GAPI_D3D9_H_
-#define O3D_COMMAND_BUFFER_SERVICE_WIN_D3D9_GAPI_D3D9_H_
-
-#include "command_buffer/common/cross/gapi_interface.h"
-#include "command_buffer/service/win/d3d9/d3d9_utils.h"
-#include "command_buffer/service/win/d3d9/geometry_d3d9.h"
-#include "command_buffer/service/win/d3d9/effect_d3d9.h"
-#include "command_buffer/service/win/d3d9/texture_d3d9.h"
-#include "command_buffer/service/win/d3d9/sampler_d3d9.h"
-#include "command_buffer/service/win/d3d9/render_surface_d3d9.h"
-
-namespace o3d {
-namespace command_buffer {
-
-// This class implements the GAPI interface for D3D9.
-class GAPID3D9 : public GAPIInterface {
- public:
- GAPID3D9();
- virtual ~GAPID3D9();
-
- void set_hwnd(HWND hwnd) { hwnd_ = hwnd; }
- HWND hwnd() const { return hwnd_; }
-
- // Initializes the graphics context, bound to a window.
- // Returns:
- // true if successful.
- virtual bool Initialize();
-
- // Destroys the graphics context.
- virtual void Destroy();
-
- // Implements the BeginFrame function for D3D9.
- virtual void BeginFrame();
-
- // Implements the EndFrame function for D3D9.
- virtual void EndFrame();
-
- // Implements the Clear function for D3D9.
- virtual void Clear(unsigned int buffers,
- const RGBA &color,
- float depth,
- unsigned int stencil);
-
- // Implements the SetViewport function for D3D9.
- virtual void SetViewport(unsigned int x,
- unsigned int y,
- unsigned int width,
- unsigned int height,
- float z_min,
- float z_max);
-
- // Implements the CreateVertexBuffer function for D3D9.
- virtual ParseError CreateVertexBuffer(ResourceId id,
- unsigned int size,
- unsigned int flags);
-
- // Implements the DestroyVertexBuffer function for D3D9.
- virtual ParseError DestroyVertexBuffer(ResourceId id);
-
- // Implements the SetVertexBufferData function for D3D9.
- virtual ParseError SetVertexBufferData(ResourceId id,
- unsigned int offset,
- unsigned int size,
- const void *data);
-
- // Implements the GetVertexBufferData function for D3D9.
- virtual ParseError GetVertexBufferData(ResourceId id,
- unsigned int offset,
- unsigned int size,
- void *data);
-
- // Implements the CreateIndexBuffer function for D3D9.
- virtual ParseError CreateIndexBuffer(ResourceId id,
- unsigned int size,
- unsigned int flags);
-
- // Implements the DestroyIndexBuffer function for D3D9.
- virtual ParseError DestroyIndexBuffer(ResourceId id);
-
- // Implements the SetIndexBufferData function for D3D9.
- virtual ParseError SetIndexBufferData(ResourceId id,
- unsigned int offset,
- unsigned int size,
- const void *data);
-
- // Implements the GetIndexBufferData function for D3D9.
- virtual ParseError GetIndexBufferData(ResourceId id,
- unsigned int offset,
- unsigned int size,
- void *data);
-
- // Implements the CreateVertexStruct function for D3D9.
- virtual ParseError CreateVertexStruct(ResourceId id,
- unsigned int input_count);
-
- // Implements the DestroyVertexStruct function for D3D9.
- virtual ParseError DestroyVertexStruct(ResourceId id);
-
- // Implements the SetVertexInput function for D3D9.
- virtual ParseError SetVertexInput(ResourceId vertex_struct_id,
- unsigned int input_index,
- ResourceId vertex_buffer_id,
- unsigned int offset,
- unsigned int stride,
- vertex_struct::Type type,
- vertex_struct::Semantic semantic,
- unsigned int semantic_index);
-
- // Implements the SetVertexStruct function for D3D9.
- virtual ParseError SetVertexStruct(ResourceId id);
-
- // Implements the Draw function for D3D9.
- virtual ParseError Draw(PrimitiveType primitive_type,
- unsigned int first,
- unsigned int count);
-
- // Implements the DrawIndexed function for D3D9.
- virtual ParseError DrawIndexed(PrimitiveType primitive_type,
- ResourceId index_buffer_id,
- unsigned int first,
- unsigned int count,
- unsigned int min_index,
- unsigned int max_index);
-
- // Implements the CreateEffect function for D3D9.
- virtual ParseError CreateEffect(ResourceId id,
- unsigned int size,
- const void *data);
-
- // Implements the DestroyEffect function for D3D9.
- virtual ParseError DestroyEffect(ResourceId id);
-
- // Implements the SetEffect function for D3D9.
- virtual ParseError SetEffect(ResourceId id);
-
- // Implements the GetParamCount function for D3D9.
- virtual ParseError GetParamCount(ResourceId id,
- unsigned int size,
- void *data);
-
- // Implements the CreateParam function for D3D9.
- virtual ParseError CreateParam(ResourceId param_id,
- ResourceId effect_id,
- unsigned int index);
-
- // Implements the CreateParamByName function for D3D9.
- virtual ParseError CreateParamByName(ResourceId param_id,
- ResourceId effect_id,
- unsigned int size,
- const void *name);
-
- // Implements the DestroyParam function for D3D9.
- virtual ParseError DestroyParam(ResourceId id);
-
- // Implements the SetParamData function for D3D9.
- virtual ParseError SetParamData(ResourceId id,
- unsigned int size,
- const void *data);
-
- // Implements the GetParamDesc function for D3D9.
- virtual ParseError GetParamDesc(ResourceId id,
- unsigned int size,
- void *data);
-
- // Implements the GetStreamCount function for D3D9.
- virtual ParseError GetStreamCount(ResourceId id,
- unsigned int size,
- void *data);
-
- // Implements the GetStreamDesc function for D3D9.
- virtual ParseError GetStreamDesc(ResourceId id,
- unsigned int index,
- unsigned int size,
- void *data);
-
- // Implements the CreateTexture2D function for D3D9.
- virtual ParseError CreateTexture2D(ResourceId id,
- unsigned int width,
- unsigned int height,
- unsigned int levels,
- texture::Format format,
- unsigned int flags,
- bool enable_render_surfaces);
-
- // Implements the CreateTexture3D function for D3D9.
- virtual ParseError CreateTexture3D(ResourceId id,
- unsigned int width,
- unsigned int height,
- unsigned int depth,
- unsigned int levels,
- texture::Format format,
- unsigned int flags,
- bool enable_render_surfaces);
-
- // Implements the CreateTextureCube function for D3D9.
- virtual ParseError CreateTextureCube(ResourceId id,
- unsigned int side,
- unsigned int levels,
- texture::Format format,
- unsigned int flags,
- bool enable_render_surfaces);
-
- // Implements the SetTextureData function for D3D9.
- virtual ParseError SetTextureData(ResourceId id,
- unsigned int x,
- unsigned int y,
- unsigned int z,
- unsigned int width,
- unsigned int height,
- unsigned int depth,
- unsigned int level,
- texture::Face face,
- unsigned int pitch,
- unsigned int slice_pitch,
- unsigned int size,
- const void *data);
-
- // Implements the GetTextureData function for D3D9.
- virtual ParseError GetTextureData(ResourceId id,
- unsigned int x,
- unsigned int y,
- unsigned int z,
- unsigned int width,
- unsigned int height,
- unsigned int depth,
- unsigned int level,
- texture::Face face,
- unsigned int pitch,
- unsigned int slice_pitch,
- unsigned int size,
- void *data);
-
- // Implements the DestroyTexture function for D3D9.
- virtual ParseError DestroyTexture(ResourceId id);
-
- // Implements the CreateSampler function for D3D9.
- virtual ParseError CreateSampler(ResourceId id);
-
- // Implements the DestroySampler function for D3D9.
- virtual ParseError DestroySampler(ResourceId id);
-
- // Implements the SetSamplerStates function for D3D9.
- virtual ParseError SetSamplerStates(ResourceId id,
- sampler::AddressingMode addressing_u,
- sampler::AddressingMode addressing_v,
- sampler::AddressingMode addressing_w,
- sampler::FilteringMode mag_filter,
- sampler::FilteringMode min_filter,
- sampler::FilteringMode mip_filter,
- unsigned int max_anisotropy);
-
- // Implements the SetSamplerBorderColor function for D3D9.
- virtual ParseError SetSamplerBorderColor(ResourceId id, const RGBA &color);
-
- // Implements the SetSamplerTexture function for D3D9.
- virtual ParseError SetSamplerTexture(ResourceId id, ResourceId texture_id);
-
- // Implements the SetScissor function for D3D9.
- virtual void SetScissor(bool enable,
- unsigned int x,
- unsigned int y,
- unsigned int width,
- unsigned int height);
-
- // Implements the SetPointLineRaster function for D3D9.
- virtual void SetPointLineRaster(bool line_smooth,
- bool point_sprite,
- float point_size);
-
- // Implements the SetPolygonOffset function for D3D9.
- virtual void SetPolygonOffset(float slope_factor, float units);
-
- // Implements the SetPolygonRaster function for D3D9.
- virtual void SetPolygonRaster(PolygonMode fill_mode,
- FaceCullMode cull_mode);
-
- // Implements the SetAlphaTest function for D3D9.
- virtual void SetAlphaTest(bool enable,
- float reference,
- Comparison comp);
-
- // Implements the SetDepthTest function for D3D9.
- virtual void SetDepthTest(bool enable,
- bool write_enable,
- Comparison comp);
-
- // Implements the SetStencilTest function for D3D9.
- virtual void SetStencilTest(bool enable,
- bool separate_ccw,
- unsigned int write_mask,
- unsigned int compare_mask,
- unsigned int ref,
- Uint32 func_ops);
-
- // Implements the SetColorWritefunction for D3D9.
- virtual void SetColorWrite(bool red,
- bool green,
- bool blue,
- bool alpha,
- bool dither);
-
- // Implements the SetBlending function for D3D9.
- virtual void SetBlending(bool enable,
- bool separate_alpha,
- BlendEq color_eq,
- BlendFunc color_src_func,
- BlendFunc color_dst_func,
- BlendEq alpha_eq,
- BlendFunc alpha_src_func,
- BlendFunc alpha_dst_func);
-
- // Implements the SetBlendingColor function for D3D9.
- virtual void SetBlendingColor(const RGBA &color);
-
- // Implements the CreateRenderSurface function for D3D9.
- virtual ParseError CreateRenderSurface(ResourceId id,
- unsigned int width,
- unsigned int height,
- unsigned int mip_level,
- unsigned int side,
- ResourceId texture_id);
-
- // Implements the DestroyRenderSurface function for D3D9.
- virtual ParseError DestroyRenderSurface(ResourceId id);
-
- // Implements the CreateDepthSurface function for D3D9.
- virtual ParseError CreateDepthSurface(ResourceId id,
- unsigned int width,
- unsigned int height);
-
- // Implements teh DestroyDepthSurface function for D3D9.
- virtual ParseError DestroyDepthSurface(ResourceId id);
-
- // Implements the SetRenderSurface function for D3D9.
- virtual ParseError SetRenderSurface(ResourceId render_surface_id,
- ResourceId depth_stencil_id);
-
- // Implements the SetBackSurfaces function for D3D9.
- virtual void SetBackSurfaces();
-
- // Gets the D3D9 device.
- IDirect3DDevice9 *d3d_device() const { return d3d_device_; }
-
- // Gets a vertex buffer by resource ID.
- VertexBufferD3D9 *GetVertexBuffer(ResourceId id) {
- return vertex_buffers_.Get(id);
- }
-
- // Gets a texture by resource ID.
- TextureD3D9 *GetTexture(ResourceId id) {
- return textures_.Get(id);
- }
-
- // Gets a sampler by resource ID.
- SamplerD3D9 *GetSampler(ResourceId id) {
- return samplers_.Get(id);
- }
-
- EffectD3D9 *current_effect() { return current_effect_; }
-
- // Direct3D functions cannot be called directly because the DLLs are loaded
- // dynamically via LoadLibrary. If you need to add another Direct3D function
- // add another function here, a typedef matching the signature and a member
- // variable of that type below. Then add code to FindDirect3DFunctions to
- // get the address of that function out of the DLL and assign it to the
- // member variable. Be careful to initialize the value of the variable to
- // NULL in the constructor and to set it to again NULL in Destroy.
-
+/*
+ * Copyright 2009, Google Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+
+// This file contains the GAPID3D9 class, implementing the GAPI interface for
+// D3D9.
+
+#ifndef O3D_COMMAND_BUFFER_SERVICE_WIN_D3D9_GAPI_D3D9_H_
+#define O3D_COMMAND_BUFFER_SERVICE_WIN_D3D9_GAPI_D3D9_H_
+
+#include "command_buffer/common/cross/gapi_interface.h"
+#include "command_buffer/service/win/d3d9/d3d9_utils.h"
+#include "command_buffer/service/win/d3d9/geometry_d3d9.h"
+#include "command_buffer/service/win/d3d9/effect_d3d9.h"
+#include "command_buffer/service/win/d3d9/texture_d3d9.h"
+#include "command_buffer/service/win/d3d9/sampler_d3d9.h"
+#include "command_buffer/service/win/d3d9/render_surface_d3d9.h"
+
+namespace o3d {
+namespace command_buffer {
+
+// This class implements the GAPI interface for D3D9.
+class GAPID3D9 : public GAPIInterface {
+ public:
+ GAPID3D9();
+ virtual ~GAPID3D9();
+
+ void set_hwnd(HWND hwnd) { hwnd_ = hwnd; }
+ HWND hwnd() const { return hwnd_; }
+
+ // Initializes the graphics context, bound to a window.
+ // Returns:
+ // true if successful.
+ virtual bool Initialize();
+
+ // Destroys the graphics context.
+ virtual void Destroy();
+
+ // Implements the BeginFrame function for D3D9.
+ virtual void BeginFrame();
+
+ // Implements the EndFrame function for D3D9.
+ virtual void EndFrame();
+
+ // Implements the Clear function for D3D9.
+ virtual void Clear(unsigned int buffers,
+ const RGBA &color,
+ float depth,
+ unsigned int stencil);
+
+ // Implements the SetViewport function for D3D9.
+ virtual void SetViewport(unsigned int x,
+ unsigned int y,
+ unsigned int width,
+ unsigned int height,
+ float z_min,
+ float z_max);
+
+ // Implements the CreateVertexBuffer function for D3D9.
+ virtual ParseError CreateVertexBuffer(ResourceId id,
+ unsigned int size,
+ unsigned int flags);
+
+ // Implements the DestroyVertexBuffer function for D3D9.
+ virtual ParseError DestroyVertexBuffer(ResourceId id);
+
+ // Implements the SetVertexBufferData function for D3D9.
+ virtual ParseError SetVertexBufferData(ResourceId id,
+ unsigned int offset,
+ unsigned int size,
+ const void *data);
+
+ // Implements the GetVertexBufferData function for D3D9.
+ virtual ParseError GetVertexBufferData(ResourceId id,
+ unsigned int offset,
+ unsigned int size,
+ void *data);
+
+ // Implements the CreateIndexBuffer function for D3D9.
+ virtual ParseError CreateIndexBuffer(ResourceId id,
+ unsigned int size,
+ unsigned int flags);
+
+ // Implements the DestroyIndexBuffer function for D3D9.
+ virtual ParseError DestroyIndexBuffer(ResourceId id);
+
+ // Implements the SetIndexBufferData function for D3D9.
+ virtual ParseError SetIndexBufferData(ResourceId id,
+ unsigned int offset,
+ unsigned int size,
+ const void *data);
+
+ // Implements the GetIndexBufferData function for D3D9.
+ virtual ParseError GetIndexBufferData(ResourceId id,
+ unsigned int offset,
+ unsigned int size,
+ void *data);
+
+ // Implements the CreateVertexStruct function for D3D9.
+ virtual ParseError CreateVertexStruct(ResourceId id,
+ unsigned int input_count);
+
+ // Implements the DestroyVertexStruct function for D3D9.
+ virtual ParseError DestroyVertexStruct(ResourceId id);
+
+ // Implements the SetVertexInput function for D3D9.
+ virtual ParseError SetVertexInput(ResourceId vertex_struct_id,
+ unsigned int input_index,
+ ResourceId vertex_buffer_id,
+ unsigned int offset,
+ unsigned int stride,
+ vertex_struct::Type type,
+ vertex_struct::Semantic semantic,
+ unsigned int semantic_index);
+
+ // Implements the SetVertexStruct function for D3D9.
+ virtual ParseError SetVertexStruct(ResourceId id);
+
+ // Implements the Draw function for D3D9.
+ virtual ParseError Draw(PrimitiveType primitive_type,
+ unsigned int first,
+ unsigned int count);
+
+ // Implements the DrawIndexed function for D3D9.
+ virtual ParseError DrawIndexed(PrimitiveType primitive_type,
+ ResourceId index_buffer_id,
+ unsigned int first,
+ unsigned int count,
+ unsigned int min_index,
+ unsigned int max_index);
+
+ // Implements the CreateEffect function for D3D9.
+ virtual ParseError CreateEffect(ResourceId id,
+ unsigned int size,
+ const void *data);
+
+ // Implements the DestroyEffect function for D3D9.
+ virtual ParseError DestroyEffect(ResourceId id);
+
+ // Implements the SetEffect function for D3D9.
+ virtual ParseError SetEffect(ResourceId id);
+
+ // Implements the GetParamCount function for D3D9.
+ virtual ParseError GetParamCount(ResourceId id,
+ unsigned int size,
+ void *data);
+
+ // Implements the CreateParam function for D3D9.
+ virtual ParseError CreateParam(ResourceId param_id,
+ ResourceId effect_id,
+ unsigned int index);
+
+ // Implements the CreateParamByName function for D3D9.
+ virtual ParseError CreateParamByName(ResourceId param_id,
+ ResourceId effect_id,
+ unsigned int size,
+ const void *name);
+
+ // Implements the DestroyParam function for D3D9.
+ virtual ParseError DestroyParam(ResourceId id);
+
+ // Implements the SetParamData function for D3D9.
+ virtual ParseError SetParamData(ResourceId id,
+ unsigned int size,
+ const void *data);
+
+ // Implements the GetParamDesc function for D3D9.
+ virtual ParseError GetParamDesc(ResourceId id,
+ unsigned int size,
+ void *data);
+
+ // Implements the GetStreamCount function for D3D9.
+ virtual ParseError GetStreamCount(ResourceId id,
+ unsigned int size,
+ void *data);
+
+ // Implements the GetStreamDesc function for D3D9.
+ virtual ParseError GetStreamDesc(ResourceId id,
+ unsigned int index,
+ unsigned int size,
+ void *data);
+
+ // Implements the CreateTexture2D function for D3D9.
+ virtual ParseError CreateTexture2D(ResourceId id,
+ unsigned int width,
+ unsigned int height,
+ unsigned int levels,
+ texture::Format format,
+ unsigned int flags,
+ bool enable_render_surfaces);
+
+ // Implements the CreateTexture3D function for D3D9.
+ virtual ParseError CreateTexture3D(ResourceId id,
+ unsigned int width,
+ unsigned int height,
+ unsigned int depth,
+ unsigned int levels,
+ texture::Format format,
+ unsigned int flags,
+ bool enable_render_surfaces);
+
+ // Implements the CreateTextureCube function for D3D9.
+ virtual ParseError CreateTextureCube(ResourceId id,
+ unsigned int side,
+ unsigned int levels,
+ texture::Format format,
+ unsigned int flags,
+ bool enable_render_surfaces);
+
+ // Implements the SetTextureData function for D3D9.
+ virtual ParseError SetTextureData(ResourceId id,
+ unsigned int x,
+ unsigned int y,
+ unsigned int z,
+ unsigned int width,
+ unsigned int height,
+ unsigned int depth,
+ unsigned int level,
+ texture::Face face,
+ unsigned int pitch,
+ unsigned int slice_pitch,
+ unsigned int size,
+ const void *data);
+
+ // Implements the GetTextureData function for D3D9.
+ virtual ParseError GetTextureData(ResourceId id,
+ unsigned int x,
+ unsigned int y,
+ unsigned int z,
+ unsigned int width,
+ unsigned int height,
+ unsigned int depth,
+ unsigned int level,
+ texture::Face face,
+ unsigned int pitch,
+ unsigned int slice_pitch,
+ unsigned int size,
+ void *data);
+
+ // Implements the DestroyTexture function for D3D9.
+ virtual ParseError DestroyTexture(ResourceId id);
+
+ // Implements the CreateSampler function for D3D9.
+ virtual ParseError CreateSampler(ResourceId id);
+
+ // Implements the DestroySampler function for D3D9.
+ virtual ParseError DestroySampler(ResourceId id);
+
+ // Implements the SetSamplerStates function for D3D9.
+ virtual ParseError SetSamplerStates(ResourceId id,
+ sampler::AddressingMode addressing_u,
+ sampler::AddressingMode addressing_v,
+ sampler::AddressingMode addressing_w,
+ sampler::FilteringMode mag_filter,
+ sampler::FilteringMode min_filter,
+ sampler::FilteringMode mip_filter,
+ unsigned int max_anisotropy);
+
+ // Implements the SetSamplerBorderColor function for D3D9.
+ virtual ParseError SetSamplerBorderColor(ResourceId id, const RGBA &color);
+
+ // Implements the SetSamplerTexture function for D3D9.
+ virtual ParseError SetSamplerTexture(ResourceId id, ResourceId texture_id);
+
+ // Implements the SetScissor function for D3D9.
+ virtual void SetScissor(bool enable,
+ unsigned int x,
+ unsigned int y,
+ unsigned int width,
+ unsigned int height);
+
+ // Implements the SetPointLineRaster function for D3D9.
+ virtual void SetPointLineRaster(bool line_smooth,
+ bool point_sprite,
+ float point_size);
+
+ // Implements the SetPolygonOffset function for D3D9.
+ virtual void SetPolygonOffset(float slope_factor, float units);
+
+ // Implements the SetPolygonRaster function for D3D9.
+ virtual void SetPolygonRaster(PolygonMode fill_mode,
+ FaceCullMode cull_mode);
+
+ // Implements the SetAlphaTest function for D3D9.
+ virtual void SetAlphaTest(bool enable,
+ float reference,
+ Comparison comp);
+
+ // Implements the SetDepthTest function for D3D9.
+ virtual void SetDepthTest(bool enable,
+ bool write_enable,
+ Comparison comp);
+
+ // Implements the SetStencilTest function for D3D9.
+ virtual void SetStencilTest(bool enable,
+ bool separate_ccw,
+ unsigned int write_mask,
+ unsigned int compare_mask,
+ unsigned int ref,
+ Uint32 func_ops);
+
+ // Implements the SetColorWritefunction for D3D9.
+ virtual void SetColorWrite(bool red,
+ bool green,
+ bool blue,
+ bool alpha,
+ bool dither);
+
+ // Implements the SetBlending function for D3D9.
+ virtual void SetBlending(bool enable,
+ bool separate_alpha,
+ BlendEq color_eq,
+ BlendFunc color_src_func,
+ BlendFunc color_dst_func,
+ BlendEq alpha_eq,
+ BlendFunc alpha_src_func,
+ BlendFunc alpha_dst_func);
+
+ // Implements the SetBlendingColor function for D3D9.
+ virtual void SetBlendingColor(const RGBA &color);
+
+ // Implements the CreateRenderSurface function for D3D9.
+ virtual ParseError CreateRenderSurface(ResourceId id,
+ unsigned int width,
+ unsigned int height,
+ unsigned int mip_level,
+ unsigned int side,
+ ResourceId texture_id);
+
+ // Implements the DestroyRenderSurface function for D3D9.
+ virtual ParseError DestroyRenderSurface(ResourceId id);
+
+ // Implements the CreateDepthSurface function for D3D9.
+ virtual ParseError CreateDepthSurface(ResourceId id,
+ unsigned int width,
+ unsigned int height);
+
+ // Implements teh DestroyDepthSurface function for D3D9.
+ virtual ParseError DestroyDepthSurface(ResourceId id);
+
+ // Implements the SetRenderSurface function for D3D9.
+ virtual ParseError SetRenderSurface(ResourceId render_surface_id,
+ ResourceId depth_stencil_id);
+
+ // Implements the SetBackSurfaces function for D3D9.
+ virtual void SetBackSurfaces();
+
+ // Gets the D3D9 device.
+ IDirect3DDevice9 *d3d_device() const { return d3d_device_; }
+
+ // Gets a vertex buffer by resource ID.
+ VertexBufferD3D9 *GetVertexBuffer(ResourceId id) {
+ return vertex_buffers_.Get(id);
+ }
+
+ // Gets a texture by resource ID.
+ TextureD3D9 *GetTexture(ResourceId id) {
+ return textures_.Get(id);
+ }
+
+ // Gets a sampler by resource ID.
+ SamplerD3D9 *GetSampler(ResourceId id) {
+ return samplers_.Get(id);
+ }
+
+ EffectD3D9 *current_effect() { return current_effect_; }
+
+ // Direct3D functions cannot be called directly because the DLLs are loaded
+ // dynamically via LoadLibrary. If you need to add another Direct3D function
+ // add another function here, a typedef matching the signature and a member
+ // variable of that type below. Then add code to FindDirect3DFunctions to
+ // get the address of that function out of the DLL and assign it to the
+ // member variable. Be careful to initialize the value of the variable to
+ // NULL in the constructor and to set it to again NULL in Destroy.
+
IDirect3D9* Direct3DCreate(UINT version) {
DCHECK(direct3d_create9_);
return direct3d_create9_(version);
@@ -412,97 +412,97 @@ class GAPID3D9 : public GAPIInterface {
return get_shader_constant_table_(function, table);
}
- HRESULT D3DXCreateEffect(LPDIRECT3DDEVICE9 device,
- LPCVOID src_data,
- UINT src_data_len,
- CONST D3DXMACRO * defines,
- LPD3DXINCLUDE include,
- DWORD flags,
- LPD3DXEFFECTPOOL pool,
- LPD3DXEFFECT * effect,
+ HRESULT D3DXCreateEffect(LPDIRECT3DDEVICE9 device,
+ LPCVOID src_data,
+ UINT src_data_len,
+ CONST D3DXMACRO * defines,
+ LPD3DXINCLUDE include,
+ DWORD flags,
+ LPD3DXEFFECTPOOL pool,
+ LPD3DXEFFECT * effect,
LPD3DXBUFFER * compilation_errors) {
DCHECK(create_effect_);
return create_effect_(device, src_data, src_data_len, defines, include,
flags, pool, effect, compilation_errors);
}
-
- HRESULT D3DXGetShaderInputSemantics(const DWORD* function,
- D3DXSEMANTIC* semantics,
- UINT* count) {
- DCHECK(get_shader_input_semantics_);
- return get_shader_input_semantics_(function, semantics, count);
- }
-
- private:
- bool FindDirect3DFunctions();
-
- // Validates the current vertex struct to D3D, setting the streams.
- bool ValidateStreams();
- // Validates the current effect to D3D. This sends the effect states to D3D.
- bool ValidateEffect();
- // "Dirty" the current effect. This resets the effect states to D3D, and
- // requires ValidateEffect() to be called before further draws occur.
- void DirtyEffect();
-
- // Module handle for d3d9.dll.
- HMODULE d3d_module_;
-
- // Module handle for d3dx9_n.dll
- HMODULE d3dx_module_;
-
- LPDIRECT3D9 d3d_;
- LPDIRECT3DDEVICE9 d3d_device_;
- HWND hwnd_;
- ResourceId current_vertex_struct_;
- bool validate_streams_;
- unsigned int max_vertices_;
- ResourceId current_effect_id_;
- bool validate_effect_;
+
+ HRESULT D3DXGetShaderInputSemantics(const DWORD* function,
+ D3DXSEMANTIC* semantics,
+ UINT* count) {
+ DCHECK(get_shader_input_semantics_);
+ return get_shader_input_semantics_(function, semantics, count);
+ }
+
+ private:
+ bool FindDirect3DFunctions();
+
+ // Validates the current vertex struct to D3D, setting the streams.
+ bool ValidateStreams();
+ // Validates the current effect to D3D. This sends the effect states to D3D.
+ bool ValidateEffect();
+ // "Dirty" the current effect. This resets the effect states to D3D, and
+ // requires ValidateEffect() to be called before further draws occur.
+ void DirtyEffect();
+
+ // Module handle for d3d9.dll.
+ HMODULE d3d_module_;
+
+ // Module handle for d3dx9_n.dll
+ HMODULE d3dx_module_;
+
+ LPDIRECT3D9 d3d_;
+ LPDIRECT3DDEVICE9 d3d_device_;
+ HWND hwnd_;
+ ResourceId current_vertex_struct_;
+ bool validate_streams_;
+ unsigned int max_vertices_;
+ ResourceId current_effect_id_;
+ bool validate_effect_;
EffectD3D9 *current_effect_;
IDirect3DSurface9* back_buffer_surface_;
- IDirect3DSurface9* back_buffer_depth_surface_;
- ResourceId current_surface_id_;
- ResourceId current_depth_surface_id_;
-
- ResourceMap<VertexBufferD3D9> vertex_buffers_;
- ResourceMap<IndexBufferD3D9> index_buffers_;
- ResourceMap<VertexStructD3D9> vertex_structs_;
- ResourceMap<EffectD3D9> effects_;
- ResourceMap<EffectParamD3D9> effect_params_;
- ResourceMap<TextureD3D9> textures_;
- ResourceMap<SamplerD3D9> samplers_;
- ResourceMap<RenderSurfaceD3D9> render_surfaces_;
- ResourceMap<RenderDepthStencilSurfaceD3D9> depth_surfaces_;
-
+ IDirect3DSurface9* back_buffer_depth_surface_;
+ ResourceId current_surface_id_;
+ ResourceId current_depth_surface_id_;
+
+ ResourceMap<VertexBufferD3D9> vertex_buffers_;
+ ResourceMap<IndexBufferD3D9> index_buffers_;
+ ResourceMap<VertexStructD3D9> vertex_structs_;
+ ResourceMap<EffectD3D9> effects_;
+ ResourceMap<EffectParamD3D9> effect_params_;
+ ResourceMap<TextureD3D9> textures_;
+ ResourceMap<SamplerD3D9> samplers_;
+ ResourceMap<RenderSurfaceD3D9> render_surfaces_;
+ ResourceMap<RenderDepthStencilSurfaceD3D9> depth_surfaces_;
+
typedef IDirect3D9* (WINAPI *Direct3DCreate9Proc)(UINT version);
- Direct3DCreate9Proc direct3d_create9_;
+ Direct3DCreate9Proc direct3d_create9_;
typedef HRESULT (WINAPI *D3DXGetShaderConstantTableProc)(
const DWORD* function,
LPD3DXCONSTANTTABLE* table);
D3DXGetShaderConstantTableProc get_shader_constant_table_;
- typedef HRESULT (WINAPI *D3DXCreateEffectProc)(
- LPDIRECT3DDEVICE9 device,
- LPCVOID src_data,
- UINT src_data_len,
- CONST D3DXMACRO * defines,
- LPD3DXINCLUDE include,
- DWORD flags,
- LPD3DXEFFECTPOOL pool,
- LPD3DXEFFECT * effect,
+ typedef HRESULT (WINAPI *D3DXCreateEffectProc)(
+ LPDIRECT3DDEVICE9 device,
+ LPCVOID src_data,
+ UINT src_data_len,
+ CONST D3DXMACRO * defines,
+ LPD3DXINCLUDE include,
+ DWORD flags,
+ LPD3DXEFFECTPOOL pool,
+ LPD3DXEFFECT * effect,
LPD3DXBUFFER * compilation_errors);
- D3DXCreateEffectProc create_effect_;
-
- typedef HRESULT (WINAPI *D3DXGetShaderInputSemanticsProc)(
- const DWORD* function,
- D3DXSEMANTIC* semantics,
- UINT* count);
- D3DXGetShaderInputSemanticsProc get_shader_input_semantics_;
-};
-
-} // namespace command_buffer
-} // namespace o3d
-
-#endif // O3D_COMMAND_BUFFER_SERVICE_WIN_D3D9_GAPI_D3D9_H_
-
+ D3DXCreateEffectProc create_effect_;
+
+ typedef HRESULT (WINAPI *D3DXGetShaderInputSemanticsProc)(
+ const DWORD* function,
+ D3DXSEMANTIC* semantics,
+ UINT* count);
+ D3DXGetShaderInputSemanticsProc get_shader_input_semantics_;
+};
+
+} // namespace command_buffer
+} // namespace o3d
+
+#endif // O3D_COMMAND_BUFFER_SERVICE_WIN_D3D9_GAPI_D3D9_H_
+
diff --git a/o3d/command_buffer/service/win/d3d9/texture_d3d9.h b/o3d/command_buffer/service/win/d3d9/texture_d3d9.h
index 332cc68..5cbbef5 100644
--- a/o3d/command_buffer/service/win/d3d9/texture_d3d9.h
+++ b/o3d/command_buffer/service/win/d3d9/texture_d3d9.h
@@ -78,9 +78,9 @@ class TextureD3D9 : public Texture {
unsigned int size,
void *data) = 0;
// Creates the render surface, returning false if unable to.
- virtual bool CreateRenderSurface(int width,
- int height,
- int mip_level,
+ virtual bool CreateRenderSurface(int width,
+ int height,
+ int mip_level,
int side,
IDirect3DSurface9** direct3d_surface) = 0;
static D3DFORMAT D3DFormat(texture::Format format);
@@ -135,9 +135,9 @@ class Texture2DD3D9 : public TextureD3D9 {
unsigned int size,
void *data);
// Create a render surface which matches this texture type.
- virtual bool CreateRenderSurface(int width,
- int height,
- int mip_level,
+ virtual bool CreateRenderSurface(int width,
+ int height,
+ int mip_level,
int side,
IDirect3DSurface9** direct3d_surface);
// Gets the D3D base texture.
@@ -200,9 +200,9 @@ class Texture3DD3D9 : public TextureD3D9 {
unsigned int size,
void *data);
// Create a render surface which matches this texture type.
- virtual bool CreateRenderSurface(int width,
- int height,
- int mip_level,
+ virtual bool CreateRenderSurface(int width,
+ int height,
+ int mip_level,
int side,
IDirect3DSurface9** direct3d_surface);
// Gets the D3D base texture.
@@ -260,9 +260,9 @@ class TextureCubeD3D9 : public TextureD3D9 {
unsigned int size,
void *data);
// Create a render surface which matches this texture type.
- virtual bool CreateRenderSurface(int width,
- int height,
- int mip_level,
+ virtual bool CreateRenderSurface(int width,
+ int height,
+ int mip_level,
int side,
IDirect3DSurface9** direct3d_surface);
// Gets the D3D base texture.