diff --git a/WickedEngine/CommonInclude.h b/WickedEngine/CommonInclude.h index 52f60c3e2..2cf561186 100644 --- a/WickedEngine/CommonInclude.h +++ b/WickedEngine/CommonInclude.h @@ -3,28 +3,9 @@ // This is a helper include file pasted into all engine headers try to keep it minimal! // Do not include engine features in this file! -#include -#include -// Platform specific: -#define NOMINMAX -#undef min -#undef max -#include -#include +#include -#ifdef WINSTORE_SUPPORT -#include -#endif // WINSTORE_SUPPORT - -#if __has_include("vulkan/vulkan.h") -#define WICKEDENGINE_BUILD_VULKAN -#endif // HAS VULKAN - - - - -// Platform agnostic: #include #include using namespace DirectX; @@ -42,4 +23,16 @@ typedef uint64_t wiCPUHandle; static const wiCPUHandle WI_NULL_HANDLE = 0; +// Platform specific parts: + +#ifdef _WIN32 +#define NOMINMAX +#include +#include +#endif // _WIN32 + +#ifdef WINSTORE_SUPPORT +#include +#endif // WINSTORE_SUPPORT + #endif //WICKEDENGINE_COMMONINCLUDE_H diff --git a/WickedEngine/WickedEngine.h b/WickedEngine/WickedEngine.h index 0110e1f0a..5e2bb43dc 100644 --- a/WickedEngine/WickedEngine.h +++ b/WickedEngine/WickedEngine.h @@ -65,13 +65,11 @@ #include "wiNetwork.h" #ifdef _WIN32 - #ifdef WINSTORE_SUPPORT #pragma comment(lib,"WickedEngine_UWP.lib") #else #pragma comment(lib,"WickedEngine_Windows.lib") #endif // WINSTORE_SUPPORT - #endif // _WIN32 diff --git a/WickedEngine/wiAudio.cpp b/WickedEngine/wiAudio.cpp index 2a84aa488..2c8042590 100644 --- a/WickedEngine/wiAudio.cpp +++ b/WickedEngine/wiAudio.cpp @@ -210,7 +210,7 @@ namespace wiAudio return hr; } - HRESULT CreateSound(const std::string& filename, Sound* sound) + bool CreateSound(const std::string& filename, Sound* sound) { Destroy(sound); @@ -229,13 +229,13 @@ namespace wiAudio if (INVALID_HANDLE_VALUE == hFile) { hr = HRESULT_FROM_WIN32(GetLastError()); - return hr; + return false; } if (INVALID_SET_FILE_POINTER == SetFilePointerEx(hFile, LARGE_INTEGER(), NULL, FILE_BEGIN)) { hr = HRESULT_FROM_WIN32(GetLastError()); - return hr; + return false; } DWORD dwChunkSize; @@ -264,9 +264,9 @@ namespace wiAudio sound->handle = (wiCPUHandle)soundinternal; - return S_OK; + return true; } - HRESULT CreateSoundInstance(const Sound* sound, SoundInstance* instance) + bool CreateSoundInstance(const Sound* sound, SoundInstance* instance) { Destroy(instance); @@ -286,7 +286,7 @@ namespace wiAudio if (FAILED(hr)) { assert(0); - return hr; + return false; } instanceinternal->sourceVoice->GetVoiceDetails(&instanceinternal->voiceDetails); @@ -309,12 +309,12 @@ namespace wiAudio if (FAILED(hr)) { assert(0); - return hr; + return false; } instance->handle = (wiCPUHandle)instanceinternal; - return S_OK; + return true; } void Destroy(Sound* sound) { diff --git a/WickedEngine/wiAudio.h b/WickedEngine/wiAudio.h index dbbea570b..07610ff29 100644 --- a/WickedEngine/wiAudio.h +++ b/WickedEngine/wiAudio.h @@ -68,8 +68,8 @@ namespace wiAudio ~SoundInstance(); }; - HRESULT CreateSound(const std::string& filename, Sound* sound); - HRESULT CreateSoundInstance(const Sound* sound, SoundInstance* instance); + bool CreateSound(const std::string& filename, Sound* sound); + bool CreateSoundInstance(const Sound* sound, SoundInstance* instance); void Destroy(Sound* sound); void Destroy(SoundInstance* instance); diff --git a/WickedEngine/wiAudio_BindLua.cpp b/WickedEngine/wiAudio_BindLua.cpp index 91a0103b8..c64165e1c 100644 --- a/WickedEngine/wiAudio_BindLua.cpp +++ b/WickedEngine/wiAudio_BindLua.cpp @@ -32,8 +32,8 @@ int wiAudio_BindLua::CreateSound(lua_State* L) wiSound_BindLua* sound = Luna::lightcheck(L, 2); if (sound != nullptr) { - HRESULT hr = wiAudio::CreateSound(wiLua::SGetString(L, 1), sound->sound); - wiLua::SSetBool(L, SUCCEEDED(hr)); + bool result = wiAudio::CreateSound(wiLua::SGetString(L, 1), sound->sound); + wiLua::SSetBool(L, result); } else { @@ -53,8 +53,8 @@ int wiAudio_BindLua::CreateSoundInstance(lua_State* L) wiSoundInstance_BindLua* soundinstance = Luna::lightcheck(L, 2); if (sound != nullptr && soundinstance != nullptr) { - HRESULT hr = wiAudio::CreateSoundInstance(sound->sound, &soundinstance->soundinstance); - wiLua::SSetBool(L, SUCCEEDED(hr)); + bool result = wiAudio::CreateSoundInstance(sound->sound, &soundinstance->soundinstance); + wiLua::SSetBool(L, result); return 1; } else diff --git a/WickedEngine/wiBackLog.cpp b/WickedEngine/wiBackLog.cpp index c95106cd8..d6eebd00d 100644 --- a/WickedEngine/wiBackLog.cpp +++ b/WickedEngine/wiBackLog.cpp @@ -87,8 +87,7 @@ namespace wiBackLog { const uint8_t colorData[] = { 0, 0, 43, 200, 43, 31, 141, 223 }; backgroundTex.reset(new Texture); - HRESULT hr = wiTextureHelper::CreateTexture(*backgroundTex.get(), colorData, 1, 2); - assert(SUCCEEDED(hr)); + wiTextureHelper::CreateTexture(*backgroundTex.get(), colorData, 1, 2); } wiImageParams fx = wiImageParams((float)wiRenderer::GetDevice()->GetScreenWidth(), (float)wiRenderer::GetDevice()->GetScreenHeight()); diff --git a/WickedEngine/wiFont.cpp b/WickedEngine/wiFont.cpp index 22f336aff..7d7174f9d 100644 --- a/WickedEngine/wiFont.cpp +++ b/WickedEngine/wiFont.cpp @@ -223,8 +223,7 @@ void wiFont::Initialize() SubresourceData InitData; InitData.pSysMem = indices.data(); - HRESULT hr = device->CreateBuffer(&bd, &InitData, &indexBuffer); - assert(SUCCEEDED(hr)); + device->CreateBuffer(&bd, &InitData, &indexBuffer); } { @@ -234,8 +233,7 @@ void wiFont::Initialize() bd.BindFlags = BIND_CONSTANT_BUFFER; bd.CPUAccessFlags = CPU_ACCESS_WRITE; - HRESULT hr = device->CreateBuffer(&bd, nullptr, &constantBuffer); - assert(SUCCEEDED(hr)); + device->CreateBuffer(&bd, nullptr, &constantBuffer); } @@ -427,8 +425,7 @@ void UpdatePendingGlyphs() } // Upload the CPU-side texture atlas bitmap to the GPU: - HRESULT hr = wiTextureHelper::CreateTexture(texture, bitmap.data(), bitmapWidth, bitmapHeight, FORMAT_R8_UNORM); - assert(SUCCEEDED(hr)); + wiTextureHelper::CreateTexture(texture, bitmap.data(), bitmapWidth, bitmapHeight, FORMAT_R8_UNORM); } } } diff --git a/WickedEngine/wiGPUBVH.cpp b/WickedEngine/wiGPUBVH.cpp index ecda64c5e..7c10b7f22 100644 --- a/WickedEngine/wiGPUBVH.cpp +++ b/WickedEngine/wiGPUBVH.cpp @@ -228,7 +228,6 @@ void wiGPUBVH::UpdateGlobalMaterialResources(const Scene& scene, CommandList cmd if (globalMaterialBuffer.GetDesc().ByteWidth != sizeof(ShaderMaterial) * materialArray.size()) { GPUBufferDesc desc; - HRESULT hr; desc.BindFlags = BIND_SHADER_RESOURCE; desc.StructureByteStride = sizeof(ShaderMaterial); @@ -238,8 +237,7 @@ void wiGPUBVH::UpdateGlobalMaterialResources(const Scene& scene, CommandList cmd desc.MiscFlags = RESOURCE_MISC_BUFFER_STRUCTURED; desc.Usage = USAGE_DEFAULT; - hr = device->CreateBuffer(&desc, nullptr, &globalMaterialBuffer); - assert(SUCCEEDED(hr)); + device->CreateBuffer(&desc, nullptr, &globalMaterialBuffer); } device->UpdateBuffer(&globalMaterialBuffer, materialArray.data(), cmd, sizeof(ShaderMaterial) * (int)materialArray.size()); @@ -294,7 +292,6 @@ void wiGPUBVH::Build(const Scene& scene, CommandList cmd) primitiveCapacity = std::max(2u, totalTriangles); GPUBufferDesc desc; - HRESULT hr; desc.BindFlags = BIND_SHADER_RESOURCE | BIND_UNORDERED_ACCESS; desc.StructureByteStride = sizeof(BVHNode); @@ -303,8 +300,7 @@ void wiGPUBVH::Build(const Scene& scene, CommandList cmd) desc.Format = FORMAT_UNKNOWN; desc.MiscFlags = RESOURCE_MISC_BUFFER_STRUCTURED; desc.Usage = USAGE_DEFAULT; - hr = device->CreateBuffer(&desc, nullptr, &bvhNodeBuffer); - assert(SUCCEEDED(hr)); + device->CreateBuffer(&desc, nullptr, &bvhNodeBuffer); device->SetName(&bvhNodeBuffer, "BVHNodeBuffer"); desc.BindFlags = BIND_SHADER_RESOURCE | BIND_UNORDERED_ACCESS; @@ -314,8 +310,7 @@ void wiGPUBVH::Build(const Scene& scene, CommandList cmd) desc.Format = FORMAT_UNKNOWN; desc.MiscFlags = RESOURCE_MISC_BUFFER_STRUCTURED; desc.Usage = USAGE_DEFAULT; - hr = device->CreateBuffer(&desc, nullptr, &bvhParentBuffer); - assert(SUCCEEDED(hr)); + device->CreateBuffer(&desc, nullptr, &bvhParentBuffer); device->SetName(&bvhParentBuffer, "BVHParentBuffer"); desc.BindFlags = BIND_SHADER_RESOURCE | BIND_UNORDERED_ACCESS; @@ -325,8 +320,7 @@ void wiGPUBVH::Build(const Scene& scene, CommandList cmd) desc.Format = FORMAT_UNKNOWN; desc.MiscFlags = RESOURCE_MISC_BUFFER_STRUCTURED; desc.Usage = USAGE_DEFAULT; - hr = device->CreateBuffer(&desc, nullptr, &bvhFlagBuffer); - assert(SUCCEEDED(hr)); + device->CreateBuffer(&desc, nullptr, &bvhFlagBuffer); device->SetName(&bvhFlagBuffer, "BVHFlagBuffer"); desc.BindFlags = BIND_SHADER_RESOURCE | BIND_UNORDERED_ACCESS; @@ -336,8 +330,7 @@ void wiGPUBVH::Build(const Scene& scene, CommandList cmd) desc.Format = FORMAT_UNKNOWN; desc.MiscFlags = RESOURCE_MISC_BUFFER_STRUCTURED; desc.Usage = USAGE_DEFAULT; - hr = device->CreateBuffer(&desc, nullptr, &primitiveIDBuffer); - assert(SUCCEEDED(hr)); + device->CreateBuffer(&desc, nullptr, &primitiveIDBuffer); device->SetName(&primitiveIDBuffer, "primitiveIDBuffer"); desc.BindFlags = BIND_SHADER_RESOURCE | BIND_UNORDERED_ACCESS; @@ -347,8 +340,7 @@ void wiGPUBVH::Build(const Scene& scene, CommandList cmd) desc.Format = FORMAT_UNKNOWN; desc.MiscFlags = RESOURCE_MISC_BUFFER_STRUCTURED; desc.Usage = USAGE_DEFAULT; - hr = device->CreateBuffer(&desc, nullptr, &primitiveBuffer); - assert(SUCCEEDED(hr)); + device->CreateBuffer(&desc, nullptr, &primitiveBuffer); device->SetName(&primitiveBuffer, "primitiveBuffer"); desc.BindFlags = BIND_SHADER_RESOURCE | BIND_UNORDERED_ACCESS; @@ -358,8 +350,7 @@ void wiGPUBVH::Build(const Scene& scene, CommandList cmd) desc.Format = FORMAT_UNKNOWN; desc.MiscFlags = RESOURCE_MISC_BUFFER_STRUCTURED; desc.Usage = USAGE_DEFAULT; - hr = device->CreateBuffer(&desc, nullptr, &primitiveDataBuffer); - assert(SUCCEEDED(hr)); + device->CreateBuffer(&desc, nullptr, &primitiveDataBuffer); device->SetName(&primitiveDataBuffer, "primitiveDataBuffer"); desc.BindFlags = BIND_SHADER_RESOURCE | BIND_UNORDERED_ACCESS; @@ -369,9 +360,8 @@ void wiGPUBVH::Build(const Scene& scene, CommandList cmd) desc.MiscFlags = RESOURCE_MISC_BUFFER_STRUCTURED; desc.Usage = USAGE_DEFAULT; desc.StructureByteStride = sizeof(float); // morton buffer is float because sorting must be done and gpu sort operates on floats for now! - hr = device->CreateBuffer(&desc, nullptr, &primitiveMortonBuffer); + device->CreateBuffer(&desc, nullptr, &primitiveMortonBuffer); device->SetName(&primitiveMortonBuffer, "primitiveMortonBuffer"); - assert(SUCCEEDED(hr)); } diff --git a/WickedEngine/wiGraphicsDevice.h b/WickedEngine/wiGraphicsDevice.h index a3d341f2c..cd2e88947 100644 --- a/WickedEngine/wiGraphicsDevice.h +++ b/WickedEngine/wiGraphicsDevice.h @@ -30,22 +30,22 @@ namespace wiGraphics public: - virtual HRESULT CreateBuffer(const GPUBufferDesc *pDesc, const SubresourceData* pInitialData, GPUBuffer *pBuffer) = 0; - virtual HRESULT CreateTexture(const TextureDesc* pDesc, const SubresourceData *pInitialData, Texture *pTexture) = 0; - virtual HRESULT CreateInputLayout(const VertexLayoutDesc *pInputElementDescs, uint32_t NumElements, const ShaderByteCode* shaderCode, VertexLayout *pInputLayout) = 0; - virtual HRESULT CreateVertexShader(const void *pShaderBytecode, SIZE_T BytecodeLength, VertexShader *pVertexShader) = 0; - virtual HRESULT CreatePixelShader(const void *pShaderBytecode, SIZE_T BytecodeLength, PixelShader *pPixelShader) = 0; - virtual HRESULT CreateGeometryShader(const void *pShaderBytecode, SIZE_T BytecodeLength, GeometryShader *pGeometryShader) = 0; - virtual HRESULT CreateHullShader(const void *pShaderBytecode, SIZE_T BytecodeLength, HullShader *pHullShader) = 0; - virtual HRESULT CreateDomainShader(const void *pShaderBytecode, SIZE_T BytecodeLength, DomainShader *pDomainShader) = 0; - virtual HRESULT CreateComputeShader(const void *pShaderBytecode, SIZE_T BytecodeLength, ComputeShader *pComputeShader) = 0; - virtual HRESULT CreateBlendState(const BlendStateDesc *pBlendStateDesc, BlendState *pBlendState) = 0; - virtual HRESULT CreateDepthStencilState(const DepthStencilStateDesc *pDepthStencilStateDesc, DepthStencilState *pDepthStencilState) = 0; - virtual HRESULT CreateRasterizerState(const RasterizerStateDesc *pRasterizerStateDesc, RasterizerState *pRasterizerState) = 0; - virtual HRESULT CreateSamplerState(const SamplerDesc *pSamplerDesc, Sampler *pSamplerState) = 0; - virtual HRESULT CreateQuery(const GPUQueryDesc *pDesc, GPUQuery *pQuery) = 0; - virtual HRESULT CreatePipelineState(const PipelineStateDesc* pDesc, PipelineState* pso) = 0; - virtual HRESULT CreateRenderPass(const RenderPassDesc* pDesc, RenderPass* renderpass) = 0; + virtual bool CreateBuffer(const GPUBufferDesc *pDesc, const SubresourceData* pInitialData, GPUBuffer *pBuffer) = 0; + virtual bool CreateTexture(const TextureDesc* pDesc, const SubresourceData *pInitialData, Texture *pTexture) = 0; + virtual bool CreateInputLayout(const VertexLayoutDesc *pInputElementDescs, uint32_t NumElements, const ShaderByteCode* shaderCode, VertexLayout *pInputLayout) = 0; + virtual bool CreateVertexShader(const void *pShaderBytecode, size_t BytecodeLength, VertexShader *pVertexShader) = 0; + virtual bool CreatePixelShader(const void *pShaderBytecode, size_t BytecodeLength, PixelShader *pPixelShader) = 0; + virtual bool CreateGeometryShader(const void *pShaderBytecode, size_t BytecodeLength, GeometryShader *pGeometryShader) = 0; + virtual bool CreateHullShader(const void *pShaderBytecode, size_t BytecodeLength, HullShader *pHullShader) = 0; + virtual bool CreateDomainShader(const void *pShaderBytecode, size_t BytecodeLength, DomainShader *pDomainShader) = 0; + virtual bool CreateComputeShader(const void *pShaderBytecode, size_t BytecodeLength, ComputeShader *pComputeShader) = 0; + virtual bool CreateBlendState(const BlendStateDesc *pBlendStateDesc, BlendState *pBlendState) = 0; + virtual bool CreateDepthStencilState(const DepthStencilStateDesc *pDepthStencilStateDesc, DepthStencilState *pDepthStencilState) = 0; + virtual bool CreateRasterizerState(const RasterizerStateDesc *pRasterizerStateDesc, RasterizerState *pRasterizerState) = 0; + virtual bool CreateSamplerState(const SamplerDesc *pSamplerDesc, Sampler *pSamplerState) = 0; + virtual bool CreateQuery(const GPUQueryDesc *pDesc, GPUQuery *pQuery) = 0; + virtual bool CreatePipelineState(const PipelineStateDesc* pDesc, PipelineState* pso) = 0; + virtual bool CreateRenderPass(const RenderPassDesc* pDesc, RenderPass* renderpass) = 0; virtual int CreateSubresource(Texture* texture, SUBRESOURCE_TYPE type, uint32_t firstSlice, uint32_t sliceCount, uint32_t firstMip, uint32_t mipCount) = 0; diff --git a/WickedEngine/wiGraphicsDevice_DX11.cpp b/WickedEngine/wiGraphicsDevice_DX11.cpp index 5c9fb81cc..12d41f474 100644 --- a/WickedEngine/wiGraphicsDevice_DX11.cpp +++ b/WickedEngine/wiGraphicsDevice_DX11.cpp @@ -1291,7 +1291,7 @@ Texture GraphicsDevice_DX11::GetBackBuffer() return result; } -HRESULT GraphicsDevice_DX11::CreateBuffer(const GPUBufferDesc *pDesc, const SubresourceData* pInitialData, GPUBuffer *pBuffer) +bool GraphicsDevice_DX11::CreateBuffer(const GPUBufferDesc *pDesc, const SubresourceData* pInitialData, GPUBuffer *pBuffer) { DestroyBuffer(pBuffer); DestroyResource(pBuffer); @@ -1399,9 +1399,9 @@ HRESULT GraphicsDevice_DX11::CreateBuffer(const GPUBufferDesc *pDesc, const Subr } } - return hr; + return SUCCEEDED(hr); } -HRESULT GraphicsDevice_DX11::CreateTexture(const TextureDesc* pDesc, const SubresourceData *pInitialData, Texture *pTexture) +bool GraphicsDevice_DX11::CreateTexture(const TextureDesc* pDesc, const SubresourceData *pInitialData, Texture *pTexture) { DestroyTexture(pTexture); DestroyResource(pTexture); @@ -1450,7 +1450,7 @@ HRESULT GraphicsDevice_DX11::CreateTexture(const TextureDesc* pDesc, const Subre assert(SUCCEEDED(hr)); if (FAILED(hr)) - return hr; + return SUCCEEDED(hr); if (pTexture->desc.MipLevels == 0) { @@ -1474,9 +1474,9 @@ HRESULT GraphicsDevice_DX11::CreateTexture(const TextureDesc* pDesc, const Subre CreateSubresource(pTexture, UAV, 0, -1, 0, -1); } - return hr; + return SUCCEEDED(hr); } -HRESULT GraphicsDevice_DX11::CreateInputLayout(const VertexLayoutDesc *pInputElementDescs, uint32_t NumElements, const ShaderByteCode* shaderCode, VertexLayout *pInputLayout) +bool GraphicsDevice_DX11::CreateInputLayout(const VertexLayoutDesc *pInputElementDescs, uint32_t NumElements, const ShaderByteCode* shaderCode, VertexLayout *pInputLayout) { DestroyInputLayout(pInputLayout); pInputLayout->Register(this); @@ -1503,9 +1503,9 @@ HRESULT GraphicsDevice_DX11::CreateInputLayout(const VertexLayoutDesc *pInputEle SAFE_DELETE_ARRAY(desc); - return hr; + return SUCCEEDED(hr); } -HRESULT GraphicsDevice_DX11::CreateVertexShader(const void *pShaderBytecode, SIZE_T BytecodeLength, VertexShader *pVertexShader) +bool GraphicsDevice_DX11::CreateVertexShader(const void *pShaderBytecode, size_t BytecodeLength, VertexShader *pVertexShader) { DestroyVertexShader(pVertexShader); pVertexShader->Register(this); @@ -1515,7 +1515,7 @@ HRESULT GraphicsDevice_DX11::CreateVertexShader(const void *pShaderBytecode, SIZ pVertexShader->code.size = BytecodeLength; return device->CreateVertexShader(pShaderBytecode, BytecodeLength, nullptr, (ID3D11VertexShader**)&pVertexShader->resource); } -HRESULT GraphicsDevice_DX11::CreatePixelShader(const void *pShaderBytecode, SIZE_T BytecodeLength, PixelShader *pPixelShader) +bool GraphicsDevice_DX11::CreatePixelShader(const void *pShaderBytecode, size_t BytecodeLength, PixelShader *pPixelShader) { DestroyPixelShader(pPixelShader); pPixelShader->Register(this); @@ -1525,7 +1525,7 @@ HRESULT GraphicsDevice_DX11::CreatePixelShader(const void *pShaderBytecode, SIZE pPixelShader->code.size = BytecodeLength; return device->CreatePixelShader(pShaderBytecode, BytecodeLength, nullptr, (ID3D11PixelShader**)&pPixelShader->resource); } -HRESULT GraphicsDevice_DX11::CreateGeometryShader(const void *pShaderBytecode, SIZE_T BytecodeLength, GeometryShader *pGeometryShader) +bool GraphicsDevice_DX11::CreateGeometryShader(const void *pShaderBytecode, size_t BytecodeLength, GeometryShader *pGeometryShader) { DestroyGeometryShader(pGeometryShader); pGeometryShader->Register(this); @@ -1535,7 +1535,7 @@ HRESULT GraphicsDevice_DX11::CreateGeometryShader(const void *pShaderBytecode, S pGeometryShader->code.size = BytecodeLength; return device->CreateGeometryShader(pShaderBytecode, BytecodeLength, nullptr, (ID3D11GeometryShader**)&pGeometryShader->resource); } -HRESULT GraphicsDevice_DX11::CreateHullShader(const void *pShaderBytecode, SIZE_T BytecodeLength, HullShader *pHullShader) +bool GraphicsDevice_DX11::CreateHullShader(const void *pShaderBytecode, size_t BytecodeLength, HullShader *pHullShader) { DestroyHullShader(pHullShader); pHullShader->Register(this); @@ -1545,7 +1545,7 @@ HRESULT GraphicsDevice_DX11::CreateHullShader(const void *pShaderBytecode, SIZE_ pHullShader->code.size = BytecodeLength; return device->CreateHullShader(pShaderBytecode, BytecodeLength, nullptr, (ID3D11HullShader**)&pHullShader->resource); } -HRESULT GraphicsDevice_DX11::CreateDomainShader(const void *pShaderBytecode, SIZE_T BytecodeLength, DomainShader *pDomainShader) +bool GraphicsDevice_DX11::CreateDomainShader(const void *pShaderBytecode, size_t BytecodeLength, DomainShader *pDomainShader) { DestroyDomainShader(pDomainShader); pDomainShader->Register(this); @@ -1555,7 +1555,7 @@ HRESULT GraphicsDevice_DX11::CreateDomainShader(const void *pShaderBytecode, SIZ pDomainShader->code.size = BytecodeLength; return device->CreateDomainShader(pShaderBytecode, BytecodeLength, nullptr, (ID3D11DomainShader**)&pDomainShader->resource); } -HRESULT GraphicsDevice_DX11::CreateComputeShader(const void *pShaderBytecode, SIZE_T BytecodeLength, ComputeShader *pComputeShader) +bool GraphicsDevice_DX11::CreateComputeShader(const void *pShaderBytecode, size_t BytecodeLength, ComputeShader *pComputeShader) { DestroyComputeShader(pComputeShader); pComputeShader->Register(this); @@ -1565,7 +1565,7 @@ HRESULT GraphicsDevice_DX11::CreateComputeShader(const void *pShaderBytecode, SI pComputeShader->code.size = BytecodeLength; return device->CreateComputeShader(pShaderBytecode, BytecodeLength, nullptr, (ID3D11ComputeShader**)&pComputeShader->resource); } -HRESULT GraphicsDevice_DX11::CreateBlendState(const BlendStateDesc *pBlendStateDesc, BlendState *pBlendState) +bool GraphicsDevice_DX11::CreateBlendState(const BlendStateDesc *pBlendStateDesc, BlendState *pBlendState) { DestroyBlendState(pBlendState); pBlendState->Register(this); @@ -1588,7 +1588,7 @@ HRESULT GraphicsDevice_DX11::CreateBlendState(const BlendStateDesc *pBlendStateD pBlendState->desc = *pBlendStateDesc; return device->CreateBlendState(&desc, (ID3D11BlendState**)&pBlendState->resource); } -HRESULT GraphicsDevice_DX11::CreateDepthStencilState(const DepthStencilStateDesc *pDepthStencilStateDesc, DepthStencilState *pDepthStencilState) +bool GraphicsDevice_DX11::CreateDepthStencilState(const DepthStencilStateDesc *pDepthStencilStateDesc, DepthStencilState *pDepthStencilState) { DestroyDepthStencilState(pDepthStencilState); pDepthStencilState->Register(this); @@ -1612,7 +1612,7 @@ HRESULT GraphicsDevice_DX11::CreateDepthStencilState(const DepthStencilStateDesc pDepthStencilState->desc = *pDepthStencilStateDesc; return device->CreateDepthStencilState(&desc, (ID3D11DepthStencilState**)&pDepthStencilState->resource); } -HRESULT GraphicsDevice_DX11::CreateRasterizerState(const RasterizerStateDesc *pRasterizerStateDesc, RasterizerState *pRasterizerState) +bool GraphicsDevice_DX11::CreateRasterizerState(const RasterizerStateDesc *pRasterizerStateDesc, RasterizerState *pRasterizerState) { DestroyRasterizerState(pRasterizerState); pRasterizerState->Register(this); @@ -1657,7 +1657,7 @@ HRESULT GraphicsDevice_DX11::CreateRasterizerState(const RasterizerStateDesc *pR HRESULT hr = device3->CreateRasterizerState2(&desc2, &rasterizer2); pRasterizerState->resource = (wiCPUHandle)rasterizer2; SAFE_RELEASE(device3); - return hr; + return SUCCEEDED(hr); } } else if (RASTERIZER_ORDERED_VIEWS && pRasterizerStateDesc->ForcedSampleCount > 0) @@ -1684,13 +1684,13 @@ HRESULT GraphicsDevice_DX11::CreateRasterizerState(const RasterizerStateDesc *pR HRESULT hr = device1->CreateRasterizerState1(&desc1, &rasterizer1); pRasterizerState->resource = (wiCPUHandle)rasterizer1; SAFE_RELEASE(device1); - return hr; + return SUCCEEDED(hr); } } return device->CreateRasterizerState(&desc, (ID3D11RasterizerState**)&pRasterizerState->resource); } -HRESULT GraphicsDevice_DX11::CreateSamplerState(const SamplerDesc *pSamplerDesc, Sampler *pSamplerState) +bool GraphicsDevice_DX11::CreateSamplerState(const SamplerDesc *pSamplerDesc, Sampler *pSamplerState) { DestroySamplerState(pSamplerState); pSamplerState->Register(this); @@ -1713,7 +1713,7 @@ HRESULT GraphicsDevice_DX11::CreateSamplerState(const SamplerDesc *pSamplerDesc, pSamplerState->desc = *pSamplerDesc; return device->CreateSamplerState(&desc, (ID3D11SamplerState**)&pSamplerState->resource); } -HRESULT GraphicsDevice_DX11::CreateQuery(const GPUQueryDesc *pDesc, GPUQuery *pQuery) +bool GraphicsDevice_DX11::CreateQuery(const GPUQueryDesc *pDesc, GPUQuery *pQuery) { DestroyQuery(pQuery); pQuery->Register(this); @@ -1749,9 +1749,9 @@ HRESULT GraphicsDevice_DX11::CreateQuery(const GPUQueryDesc *pDesc, GPUQuery *pQ hr = device->CreateQuery(&desc, (ID3D11Query**)&pQuery->resource); assert(SUCCEEDED(hr) && "GPUQuery creation failed!"); - return hr; + return SUCCEEDED(hr); } -HRESULT GraphicsDevice_DX11::CreatePipelineState(const PipelineStateDesc* pDesc, PipelineState* pso) +bool GraphicsDevice_DX11::CreatePipelineState(const PipelineStateDesc* pDesc, PipelineState* pso) { DestroyPipelineState(pso); pso->Register(this); @@ -1760,7 +1760,7 @@ HRESULT GraphicsDevice_DX11::CreatePipelineState(const PipelineStateDesc* pDesc, return S_OK; } -HRESULT GraphicsDevice_DX11::CreateRenderPass(const RenderPassDesc* pDesc, RenderPass* renderpass) +bool GraphicsDevice_DX11::CreateRenderPass(const RenderPassDesc* pDesc, RenderPass* renderpass) { DestroyRenderPass(renderpass); renderpass->Register(this); diff --git a/WickedEngine/wiGraphicsDevice_DX11.h b/WickedEngine/wiGraphicsDevice_DX11.h index cd6501c61..998e27eac 100644 --- a/WickedEngine/wiGraphicsDevice_DX11.h +++ b/WickedEngine/wiGraphicsDevice_DX11.h @@ -68,22 +68,22 @@ namespace wiGraphics GraphicsDevice_DX11(wiWindowRegistration::window_type window, bool fullscreen = false, bool debuglayer = false); virtual ~GraphicsDevice_DX11(); - HRESULT CreateBuffer(const GPUBufferDesc *pDesc, const SubresourceData* pInitialData, GPUBuffer *pBuffer) override; - HRESULT CreateTexture(const TextureDesc* pDesc, const SubresourceData *pInitialData, Texture *pTexture) override; - HRESULT CreateInputLayout(const VertexLayoutDesc *pInputElementDescs, uint32_t NumElements, const ShaderByteCode* shaderCode, VertexLayout *pInputLayout) override; - HRESULT CreateVertexShader(const void *pShaderBytecode, SIZE_T BytecodeLength, VertexShader *pVertexShader) override; - HRESULT CreatePixelShader(const void *pShaderBytecode, SIZE_T BytecodeLength, PixelShader *pPixelShader) override; - HRESULT CreateGeometryShader(const void *pShaderBytecode, SIZE_T BytecodeLength, GeometryShader *pGeometryShader) override; - HRESULT CreateHullShader(const void *pShaderBytecode, SIZE_T BytecodeLength, HullShader *pHullShader) override; - HRESULT CreateDomainShader(const void *pShaderBytecode, SIZE_T BytecodeLength, DomainShader *pDomainShader) override; - HRESULT CreateComputeShader(const void *pShaderBytecode, SIZE_T BytecodeLength, ComputeShader *pComputeShader) override; - HRESULT CreateBlendState(const BlendStateDesc *pBlendStateDesc, BlendState *pBlendState) override; - HRESULT CreateDepthStencilState(const DepthStencilStateDesc *pDepthStencilStateDesc, DepthStencilState *pDepthStencilState) override; - HRESULT CreateRasterizerState(const RasterizerStateDesc *pRasterizerStateDesc, RasterizerState *pRasterizerState) override; - HRESULT CreateSamplerState(const SamplerDesc *pSamplerDesc, Sampler *pSamplerState) override; - HRESULT CreateQuery(const GPUQueryDesc *pDesc, GPUQuery *pQuery) override; - HRESULT CreatePipelineState(const PipelineStateDesc* pDesc, PipelineState* pso) override; - HRESULT CreateRenderPass(const RenderPassDesc* pDesc, RenderPass* renderpass) override; + bool CreateBuffer(const GPUBufferDesc *pDesc, const SubresourceData* pInitialData, GPUBuffer *pBuffer) override; + bool CreateTexture(const TextureDesc* pDesc, const SubresourceData *pInitialData, Texture *pTexture) override; + bool CreateInputLayout(const VertexLayoutDesc *pInputElementDescs, uint32_t NumElements, const ShaderByteCode* shaderCode, VertexLayout *pInputLayout) override; + bool CreateVertexShader(const void *pShaderBytecode, size_t BytecodeLength, VertexShader *pVertexShader) override; + bool CreatePixelShader(const void *pShaderBytecode, size_t BytecodeLength, PixelShader *pPixelShader) override; + bool CreateGeometryShader(const void *pShaderBytecode, size_t BytecodeLength, GeometryShader *pGeometryShader) override; + bool CreateHullShader(const void *pShaderBytecode, size_t BytecodeLength, HullShader *pHullShader) override; + bool CreateDomainShader(const void *pShaderBytecode, size_t BytecodeLength, DomainShader *pDomainShader) override; + bool CreateComputeShader(const void *pShaderBytecode, size_t BytecodeLength, ComputeShader *pComputeShader) override; + bool CreateBlendState(const BlendStateDesc *pBlendStateDesc, BlendState *pBlendState) override; + bool CreateDepthStencilState(const DepthStencilStateDesc *pDepthStencilStateDesc, DepthStencilState *pDepthStencilState) override; + bool CreateRasterizerState(const RasterizerStateDesc *pRasterizerStateDesc, RasterizerState *pRasterizerState) override; + bool CreateSamplerState(const SamplerDesc *pSamplerDesc, Sampler *pSamplerState) override; + bool CreateQuery(const GPUQueryDesc *pDesc, GPUQuery *pQuery) override; + bool CreatePipelineState(const PipelineStateDesc* pDesc, PipelineState* pso) override; + bool CreateRenderPass(const RenderPassDesc* pDesc, RenderPass* renderpass) override; int CreateSubresource(Texture* texture, SUBRESOURCE_TYPE type, uint32_t firstSlice, uint32_t sliceCount, uint32_t firstMip, uint32_t mipCount) override; diff --git a/WickedEngine/wiGraphicsDevice_DX12.cpp b/WickedEngine/wiGraphicsDevice_DX12.cpp index 1286d8fd4..3da47f3c1 100644 --- a/WickedEngine/wiGraphicsDevice_DX12.cpp +++ b/WickedEngine/wiGraphicsDevice_DX12.cpp @@ -33,7 +33,7 @@ namespace wiGraphics inline D3D12_CPU_DESCRIPTOR_HANDLE ToNativeHandle(wiCPUHandle handle) { D3D12_CPU_DESCRIPTOR_HANDLE native; - native.ptr = (SIZE_T)handle; + native.ptr = (size_t)handle; return native; } @@ -1947,7 +1947,7 @@ namespace wiGraphics return result; } - HRESULT GraphicsDevice_DX12::CreateBuffer(const GPUBufferDesc* pDesc, const SubresourceData* pInitialData, GPUBuffer* pBuffer) + bool GraphicsDevice_DX12::CreateBuffer(const GPUBufferDesc* pDesc, const SubresourceData* pInitialData, GPUBuffer* pBuffer) { DestroyBuffer(pBuffer); DestroyResource(pBuffer); @@ -2106,9 +2106,9 @@ namespace wiGraphics device->CreateUnorderedAccessView((ID3D12Resource*)pBuffer->resource, nullptr, &uav_desc, ToNativeHandle(pBuffer->UAV)); } - return hr; + return SUCCEEDED(hr); } - HRESULT GraphicsDevice_DX12::CreateTexture(const TextureDesc* pDesc, const SubresourceData* pInitialData, Texture* pTexture) + bool GraphicsDevice_DX12::CreateTexture(const TextureDesc* pDesc, const SubresourceData* pInitialData, Texture* pTexture) { DestroyTexture(pTexture); DestroyResource(pTexture); @@ -2274,9 +2274,9 @@ namespace wiGraphics CreateSubresource(pTexture, UAV, 0, -1, 0, -1); } - return hr; + return SUCCEEDED(hr); } - HRESULT GraphicsDevice_DX12::CreateInputLayout(const VertexLayoutDesc* pInputElementDescs, uint32_t NumElements, const ShaderByteCode* shaderCode, VertexLayout* pInputLayout) + bool GraphicsDevice_DX12::CreateInputLayout(const VertexLayoutDesc* pInputElementDescs, uint32_t NumElements, const ShaderByteCode* shaderCode, VertexLayout* pInputLayout) { DestroyInputLayout(pInputLayout); pInputLayout->Register(this); @@ -2290,7 +2290,7 @@ namespace wiGraphics return S_OK; } - HRESULT GraphicsDevice_DX12::CreateVertexShader(const void* pShaderBytecode, SIZE_T BytecodeLength, VertexShader* pVertexShader) + bool GraphicsDevice_DX12::CreateVertexShader(const void* pShaderBytecode, size_t BytecodeLength, VertexShader* pVertexShader) { DestroyVertexShader(pVertexShader); pVertexShader->Register(this); @@ -2301,7 +2301,7 @@ namespace wiGraphics return (pVertexShader->code.data != nullptr && pVertexShader->code.size > 0 ? S_OK : E_FAIL); } - HRESULT GraphicsDevice_DX12::CreatePixelShader(const void* pShaderBytecode, SIZE_T BytecodeLength, PixelShader* pPixelShader) + bool GraphicsDevice_DX12::CreatePixelShader(const void* pShaderBytecode, size_t BytecodeLength, PixelShader* pPixelShader) { DestroyPixelShader(pPixelShader); pPixelShader->Register(this); @@ -2312,7 +2312,7 @@ namespace wiGraphics return (pPixelShader->code.data != nullptr && pPixelShader->code.size > 0 ? S_OK : E_FAIL); } - HRESULT GraphicsDevice_DX12::CreateGeometryShader(const void* pShaderBytecode, SIZE_T BytecodeLength, GeometryShader* pGeometryShader) + bool GraphicsDevice_DX12::CreateGeometryShader(const void* pShaderBytecode, size_t BytecodeLength, GeometryShader* pGeometryShader) { DestroyGeometryShader(pGeometryShader); pGeometryShader->Register(this); @@ -2323,7 +2323,7 @@ namespace wiGraphics return (pGeometryShader->code.data != nullptr && pGeometryShader->code.size > 0 ? S_OK : E_FAIL); } - HRESULT GraphicsDevice_DX12::CreateHullShader(const void* pShaderBytecode, SIZE_T BytecodeLength, HullShader* pHullShader) + bool GraphicsDevice_DX12::CreateHullShader(const void* pShaderBytecode, size_t BytecodeLength, HullShader* pHullShader) { DestroyHullShader(pHullShader); pHullShader->Register(this); @@ -2334,7 +2334,7 @@ namespace wiGraphics return (pHullShader->code.data != nullptr && pHullShader->code.size > 0 ? S_OK : E_FAIL); } - HRESULT GraphicsDevice_DX12::CreateDomainShader(const void* pShaderBytecode, SIZE_T BytecodeLength, DomainShader* pDomainShader) + bool GraphicsDevice_DX12::CreateDomainShader(const void* pShaderBytecode, size_t BytecodeLength, DomainShader* pDomainShader) { DestroyDomainShader(pDomainShader); pDomainShader->Register(this); @@ -2345,7 +2345,7 @@ namespace wiGraphics return (pDomainShader->code.data != nullptr && pDomainShader->code.size > 0 ? S_OK : E_FAIL); } - HRESULT GraphicsDevice_DX12::CreateComputeShader(const void* pShaderBytecode, SIZE_T BytecodeLength, ComputeShader* pComputeShader) + bool GraphicsDevice_DX12::CreateComputeShader(const void* pShaderBytecode, size_t BytecodeLength, ComputeShader* pComputeShader) { DestroyComputeShader(pComputeShader); pComputeShader->Register(this); @@ -2362,9 +2362,9 @@ namespace wiGraphics HRESULT hr = device->CreateComputePipelineState(&desc, __uuidof(ID3D12PipelineState), (void**)&pComputeShader->resource); assert(SUCCEEDED(hr)); - return hr; + return SUCCEEDED(hr); } - HRESULT GraphicsDevice_DX12::CreateBlendState(const BlendStateDesc* pBlendStateDesc, BlendState* pBlendState) + bool GraphicsDevice_DX12::CreateBlendState(const BlendStateDesc* pBlendStateDesc, BlendState* pBlendState) { DestroyBlendState(pBlendState); pBlendState->Register(this); @@ -2372,7 +2372,7 @@ namespace wiGraphics pBlendState->desc = *pBlendStateDesc; return S_OK; } - HRESULT GraphicsDevice_DX12::CreateDepthStencilState(const DepthStencilStateDesc* pDepthStencilStateDesc, DepthStencilState* pDepthStencilState) + bool GraphicsDevice_DX12::CreateDepthStencilState(const DepthStencilStateDesc* pDepthStencilStateDesc, DepthStencilState* pDepthStencilState) { DestroyDepthStencilState(pDepthStencilState); pDepthStencilState->Register(this); @@ -2380,7 +2380,7 @@ namespace wiGraphics pDepthStencilState->desc = *pDepthStencilStateDesc; return S_OK; } - HRESULT GraphicsDevice_DX12::CreateRasterizerState(const RasterizerStateDesc* pRasterizerStateDesc, RasterizerState* pRasterizerState) + bool GraphicsDevice_DX12::CreateRasterizerState(const RasterizerStateDesc* pRasterizerStateDesc, RasterizerState* pRasterizerState) { DestroyRasterizerState(pRasterizerState); pRasterizerState->Register(this); @@ -2388,7 +2388,7 @@ namespace wiGraphics pRasterizerState->desc = *pRasterizerStateDesc; return S_OK; } - HRESULT GraphicsDevice_DX12::CreateSamplerState(const SamplerDesc* pSamplerDesc, Sampler* pSamplerState) + bool GraphicsDevice_DX12::CreateSamplerState(const SamplerDesc* pSamplerDesc, Sampler* pSamplerState) { DestroySamplerState(pSamplerState); pSamplerState->Register(this); @@ -2415,7 +2415,7 @@ namespace wiGraphics return S_OK; } - HRESULT GraphicsDevice_DX12::CreateQuery(const GPUQueryDesc* pDesc, GPUQuery* pQuery) + bool GraphicsDevice_DX12::CreateQuery(const GPUQueryDesc* pDesc, GPUQuery* pQuery) { DestroyQuery(pQuery); pQuery->Register(this); @@ -2458,9 +2458,9 @@ namespace wiGraphics assert(SUCCEEDED(hr)); - return hr; + return SUCCEEDED(hr); } - HRESULT GraphicsDevice_DX12::CreatePipelineState(const PipelineStateDesc* pDesc, PipelineState* pso) + bool GraphicsDevice_DX12::CreatePipelineState(const PipelineStateDesc* pDesc, PipelineState* pso) { DestroyPipelineState(pso); pso->Register(this); @@ -2482,7 +2482,7 @@ namespace wiGraphics return S_OK; } - HRESULT GraphicsDevice_DX12::CreateRenderPass(const RenderPassDesc* pDesc, RenderPass* renderpass) + bool GraphicsDevice_DX12::CreateRenderPass(const RenderPassDesc* pDesc, RenderPass* renderpass) { DestroyRenderPass(renderpass); renderpass->Register(this); @@ -4066,7 +4066,7 @@ namespace wiGraphics bool GraphicsDevice_DX12::QueryRead(const GPUQuery* query, GPUQueryResult* result) { D3D12_RANGE range; - range.Begin = (SIZE_T)query->resource * sizeof(SIZE_T); + range.Begin = (size_t)query->resource * sizeof(size_t); range.End = range.Begin + sizeof(uint64_t); D3D12_RANGE nullrange = {}; void* data = nullptr; @@ -4078,7 +4078,7 @@ namespace wiGraphics break; case GPU_QUERY_TYPE_TIMESTAMP: querypool_timestamp_readback->Map(0, &range, &data); - result->result_timestamp = *(uint64_t*)((SIZE_T)data + range.Begin); + result->result_timestamp = *(uint64_t*)((size_t)data + range.Begin); querypool_timestamp_readback->Unmap(0, &nullrange); break; case GPU_QUERY_TYPE_TIMESTAMP_DISJOINT: @@ -4088,14 +4088,14 @@ namespace wiGraphics { BOOL passed = FALSE; querypool_occlusion_readback->Map(0, &range, &data); - passed = *(BOOL*)((SIZE_T)data + range.Begin); + passed = *(BOOL*)((size_t)data + range.Begin); querypool_occlusion_readback->Unmap(0, &nullrange); result->result_passed_sample_count = (uint64_t)passed; break; } case GPU_QUERY_TYPE_OCCLUSION: querypool_occlusion_readback->Map(0, &range, &data); - result->result_passed_sample_count = *(uint64_t*)((SIZE_T)data + range.Begin); + result->result_passed_sample_count = *(uint64_t*)((size_t)data + range.Begin); querypool_occlusion_readback->Unmap(0, &nullrange); break; } diff --git a/WickedEngine/wiGraphicsDevice_DX12.h b/WickedEngine/wiGraphicsDevice_DX12.h index e9454ba97..c44cbf5db 100644 --- a/WickedEngine/wiGraphicsDevice_DX12.h +++ b/WickedEngine/wiGraphicsDevice_DX12.h @@ -230,22 +230,22 @@ namespace wiGraphics GraphicsDevice_DX12(wiWindowRegistration::window_type window, bool fullscreen = false, bool debuglayer = false); virtual ~GraphicsDevice_DX12(); - HRESULT CreateBuffer(const GPUBufferDesc *pDesc, const SubresourceData* pInitialData, GPUBuffer *pBuffer) override; - HRESULT CreateTexture(const TextureDesc* pDesc, const SubresourceData *pInitialData, Texture *pTexture) override; - HRESULT CreateInputLayout(const VertexLayoutDesc *pInputElementDescs, uint32_t NumElements, const ShaderByteCode* shaderCode, VertexLayout *pInputLayout) override; - HRESULT CreateVertexShader(const void *pShaderBytecode, SIZE_T BytecodeLength, VertexShader *pVertexShader) override; - HRESULT CreatePixelShader(const void *pShaderBytecode, SIZE_T BytecodeLength, PixelShader *pPixelShader) override; - HRESULT CreateGeometryShader(const void *pShaderBytecode, SIZE_T BytecodeLength, GeometryShader *pGeometryShader) override; - HRESULT CreateHullShader(const void *pShaderBytecode, SIZE_T BytecodeLength, HullShader *pHullShader) override; - HRESULT CreateDomainShader(const void *pShaderBytecode, SIZE_T BytecodeLength, DomainShader *pDomainShader) override; - HRESULT CreateComputeShader(const void *pShaderBytecode, SIZE_T BytecodeLength, ComputeShader *pComputeShader) override; - HRESULT CreateBlendState(const BlendStateDesc *pBlendStateDesc, BlendState *pBlendState) override; - HRESULT CreateDepthStencilState(const DepthStencilStateDesc *pDepthStencilStateDesc, DepthStencilState *pDepthStencilState) override; - HRESULT CreateRasterizerState(const RasterizerStateDesc *pRasterizerStateDesc, RasterizerState *pRasterizerState) override; - HRESULT CreateSamplerState(const SamplerDesc *pSamplerDesc, Sampler *pSamplerState) override; - HRESULT CreateQuery(const GPUQueryDesc *pDesc, GPUQuery *pQuery) override; - HRESULT CreatePipelineState(const PipelineStateDesc* pDesc, PipelineState* pso) override; - HRESULT CreateRenderPass(const RenderPassDesc* pDesc, RenderPass* renderpass) override; + bool CreateBuffer(const GPUBufferDesc *pDesc, const SubresourceData* pInitialData, GPUBuffer *pBuffer) override; + bool CreateTexture(const TextureDesc* pDesc, const SubresourceData *pInitialData, Texture *pTexture) override; + bool CreateInputLayout(const VertexLayoutDesc *pInputElementDescs, uint32_t NumElements, const ShaderByteCode* shaderCode, VertexLayout *pInputLayout) override; + bool CreateVertexShader(const void *pShaderBytecode, size_t BytecodeLength, VertexShader *pVertexShader) override; + bool CreatePixelShader(const void *pShaderBytecode, size_t BytecodeLength, PixelShader *pPixelShader) override; + bool CreateGeometryShader(const void *pShaderBytecode, size_t BytecodeLength, GeometryShader *pGeometryShader) override; + bool CreateHullShader(const void *pShaderBytecode, size_t BytecodeLength, HullShader *pHullShader) override; + bool CreateDomainShader(const void *pShaderBytecode, size_t BytecodeLength, DomainShader *pDomainShader) override; + bool CreateComputeShader(const void *pShaderBytecode, size_t BytecodeLength, ComputeShader *pComputeShader) override; + bool CreateBlendState(const BlendStateDesc *pBlendStateDesc, BlendState *pBlendState) override; + bool CreateDepthStencilState(const DepthStencilStateDesc *pDepthStencilStateDesc, DepthStencilState *pDepthStencilState) override; + bool CreateRasterizerState(const RasterizerStateDesc *pRasterizerStateDesc, RasterizerState *pRasterizerState) override; + bool CreateSamplerState(const SamplerDesc *pSamplerDesc, Sampler *pSamplerState) override; + bool CreateQuery(const GPUQueryDesc *pDesc, GPUQuery *pQuery) override; + bool CreatePipelineState(const PipelineStateDesc* pDesc, PipelineState* pso) override; + bool CreateRenderPass(const RenderPassDesc* pDesc, RenderPass* renderpass) override; int CreateSubresource(Texture* texture, SUBRESOURCE_TYPE type, uint32_t firstSlice, uint32_t sliceCount, uint32_t firstMip, uint32_t mipCount) override; diff --git a/WickedEngine/wiGraphicsDevice_Vulkan.cpp b/WickedEngine/wiGraphicsDevice_Vulkan.cpp index e01ea89f2..5710497d6 100644 --- a/WickedEngine/wiGraphicsDevice_Vulkan.cpp +++ b/WickedEngine/wiGraphicsDevice_Vulkan.cpp @@ -1499,7 +1499,7 @@ namespace wiGraphics } #else #error WICKEDENGINE VULKAN DEVICE ERROR: PLATFORM NOT SUPPORTED -#endif // WIN32 +#endif // _WIN32 } @@ -2253,7 +2253,7 @@ namespace wiGraphics return Texture(); } - HRESULT GraphicsDevice_Vulkan::CreateBuffer(const GPUBufferDesc *pDesc, const SubresourceData* pInitialData, GPUBuffer *pBuffer) + bool GraphicsDevice_Vulkan::CreateBuffer(const GPUBufferDesc *pDesc, const SubresourceData* pInitialData, GPUBuffer *pBuffer) { DestroyBuffer(pBuffer); DestroyResource(pBuffer); @@ -2437,9 +2437,9 @@ namespace wiGraphics - return res == VK_SUCCESS ? S_OK : E_FAIL; + return res == VK_SUCCESS ? true : false; } - HRESULT GraphicsDevice_Vulkan::CreateTexture(const TextureDesc* pDesc, const SubresourceData *pInitialData, Texture *pTexture) + bool GraphicsDevice_Vulkan::CreateTexture(const TextureDesc* pDesc, const SubresourceData *pInitialData, Texture *pTexture) { DestroyTexture(pTexture); DestroyResource(pTexture); @@ -2664,9 +2664,9 @@ namespace wiGraphics CreateSubresource(pTexture, UAV, 0, -1, 0, -1); } - return res == VK_SUCCESS ? S_OK : E_FAIL; + return res == VK_SUCCESS ? true : false; } - HRESULT GraphicsDevice_Vulkan::CreateInputLayout(const VertexLayoutDesc *pInputElementDescs, uint32_t NumElements, const ShaderByteCode* shaderCode, VertexLayout *pInputLayout) + bool GraphicsDevice_Vulkan::CreateInputLayout(const VertexLayoutDesc *pInputElementDescs, uint32_t NumElements, const ShaderByteCode* shaderCode, VertexLayout *pInputLayout) { DestroyInputLayout(pInputLayout); pInputLayout->Register(this); @@ -2678,9 +2678,9 @@ namespace wiGraphics pInputLayout->desc.push_back(pInputElementDescs[i]); } - return S_OK; + return true; } - HRESULT GraphicsDevice_Vulkan::CreateVertexShader(const void *pShaderBytecode, SIZE_T BytecodeLength, VertexShader *pVertexShader) + bool GraphicsDevice_Vulkan::CreateVertexShader(const void *pShaderBytecode, size_t BytecodeLength, VertexShader *pVertexShader) { DestroyVertexShader(pVertexShader); pVertexShader->Register(this); @@ -2689,9 +2689,9 @@ namespace wiGraphics memcpy(pVertexShader->code.data, pShaderBytecode, BytecodeLength); pVertexShader->code.size = BytecodeLength; - return (pVertexShader->code.data != nullptr && pVertexShader->code.size > 0 ? S_OK : E_FAIL); + return (pVertexShader->code.data != nullptr && pVertexShader->code.size > 0 ? true : false); } - HRESULT GraphicsDevice_Vulkan::CreatePixelShader(const void *pShaderBytecode, SIZE_T BytecodeLength, PixelShader *pPixelShader) + bool GraphicsDevice_Vulkan::CreatePixelShader(const void *pShaderBytecode, size_t BytecodeLength, PixelShader *pPixelShader) { DestroyPixelShader(pPixelShader); pPixelShader->Register(this); @@ -2700,9 +2700,9 @@ namespace wiGraphics memcpy(pPixelShader->code.data, pShaderBytecode, BytecodeLength); pPixelShader->code.size = BytecodeLength; - return (pPixelShader->code.data != nullptr && pPixelShader->code.size > 0 ? S_OK : E_FAIL); + return (pPixelShader->code.data != nullptr && pPixelShader->code.size > 0 ? true : false); } - HRESULT GraphicsDevice_Vulkan::CreateGeometryShader(const void *pShaderBytecode, SIZE_T BytecodeLength, GeometryShader *pGeometryShader) + bool GraphicsDevice_Vulkan::CreateGeometryShader(const void *pShaderBytecode, size_t BytecodeLength, GeometryShader *pGeometryShader) { DestroyGeometryShader(pGeometryShader); pGeometryShader->Register(this); @@ -2711,9 +2711,9 @@ namespace wiGraphics memcpy(pGeometryShader->code.data, pShaderBytecode, BytecodeLength); pGeometryShader->code.size = BytecodeLength; - return (pGeometryShader->code.data != nullptr && pGeometryShader->code.size > 0 ? S_OK : E_FAIL); + return (pGeometryShader->code.data != nullptr && pGeometryShader->code.size > 0 ? true : false); } - HRESULT GraphicsDevice_Vulkan::CreateHullShader(const void *pShaderBytecode, SIZE_T BytecodeLength, HullShader *pHullShader) + bool GraphicsDevice_Vulkan::CreateHullShader(const void *pShaderBytecode, size_t BytecodeLength, HullShader *pHullShader) { DestroyHullShader(pHullShader); pHullShader->Register(this); @@ -2722,9 +2722,9 @@ namespace wiGraphics memcpy(pHullShader->code.data, pShaderBytecode, BytecodeLength); pHullShader->code.size = BytecodeLength; - return (pHullShader->code.data != nullptr && pHullShader->code.size > 0 ? S_OK : E_FAIL); + return (pHullShader->code.data != nullptr && pHullShader->code.size > 0 ? true : false); } - HRESULT GraphicsDevice_Vulkan::CreateDomainShader(const void *pShaderBytecode, SIZE_T BytecodeLength, DomainShader *pDomainShader) + bool GraphicsDevice_Vulkan::CreateDomainShader(const void *pShaderBytecode, size_t BytecodeLength, DomainShader *pDomainShader) { DestroyDomainShader(pDomainShader); pDomainShader->Register(this); @@ -2733,9 +2733,9 @@ namespace wiGraphics memcpy(pDomainShader->code.data, pShaderBytecode, BytecodeLength); pDomainShader->code.size = BytecodeLength; - return (pDomainShader->code.data != nullptr && pDomainShader->code.size > 0 ? S_OK : E_FAIL); + return (pDomainShader->code.data != nullptr && pDomainShader->code.size > 0 ? true : false); } - HRESULT GraphicsDevice_Vulkan::CreateComputeShader(const void *pShaderBytecode, SIZE_T BytecodeLength, ComputeShader *pComputeShader) + bool GraphicsDevice_Vulkan::CreateComputeShader(const void *pShaderBytecode, size_t BytecodeLength, ComputeShader *pComputeShader) { DestroyComputeShader(pComputeShader); pComputeShader->Register(this); @@ -2776,33 +2776,33 @@ namespace wiGraphics res = vkCreateComputePipelines(device, VK_NULL_HANDLE, 1, &pipelineInfo, nullptr, reinterpret_cast(&pComputeShader->resource)); assert(res == VK_SUCCESS); - return res == VK_SUCCESS ? S_OK : E_FAIL; + return res == VK_SUCCESS ? true : false; } - HRESULT GraphicsDevice_Vulkan::CreateBlendState(const BlendStateDesc *pBlendStateDesc, BlendState *pBlendState) + bool GraphicsDevice_Vulkan::CreateBlendState(const BlendStateDesc *pBlendStateDesc, BlendState *pBlendState) { DestroyBlendState(pBlendState); pBlendState->Register(this); pBlendState->desc = *pBlendStateDesc; - return S_OK; + return true; } - HRESULT GraphicsDevice_Vulkan::CreateDepthStencilState(const DepthStencilStateDesc *pDepthStencilStateDesc, DepthStencilState *pDepthStencilState) + bool GraphicsDevice_Vulkan::CreateDepthStencilState(const DepthStencilStateDesc *pDepthStencilStateDesc, DepthStencilState *pDepthStencilState) { DestroyDepthStencilState(pDepthStencilState); pDepthStencilState->Register(this); pDepthStencilState->desc = *pDepthStencilStateDesc; - return S_OK; + return true; } - HRESULT GraphicsDevice_Vulkan::CreateRasterizerState(const RasterizerStateDesc *pRasterizerStateDesc, RasterizerState *pRasterizerState) + bool GraphicsDevice_Vulkan::CreateRasterizerState(const RasterizerStateDesc *pRasterizerStateDesc, RasterizerState *pRasterizerState) { DestroyRasterizerState(pRasterizerState); pRasterizerState->Register(this); pRasterizerState->desc = *pRasterizerStateDesc; - return S_OK; + return true; } - HRESULT GraphicsDevice_Vulkan::CreateSamplerState(const SamplerDesc *pSamplerDesc, Sampler *pSamplerState) + bool GraphicsDevice_Vulkan::CreateSamplerState(const SamplerDesc *pSamplerDesc, Sampler *pSamplerState) { DestroySamplerState(pSamplerState); pSamplerState->Register(this); @@ -2984,14 +2984,14 @@ namespace wiGraphics VkResult res = vkCreateSampler(device, &createInfo, nullptr, reinterpret_cast(&pSamplerState->resource)); assert(res == VK_SUCCESS); - return res == VK_SUCCESS ? S_OK : E_FAIL; + return res == VK_SUCCESS ? true : false; } - HRESULT GraphicsDevice_Vulkan::CreateQuery(const GPUQueryDesc *pDesc, GPUQuery *pQuery) + bool GraphicsDevice_Vulkan::CreateQuery(const GPUQueryDesc *pDesc, GPUQuery *pQuery) { DestroyQuery(pQuery); pQuery->Register(this); - HRESULT hr = E_FAIL; + bool hr = false; pQuery->desc = *pDesc; @@ -3003,7 +3003,7 @@ namespace wiGraphics if (free_timestampqueries.pop_front(query_index)) { pQuery->resource = (wiCPUHandle)query_index; - hr = S_OK; + hr = true; } else { @@ -3011,14 +3011,14 @@ namespace wiGraphics } break; case GPU_QUERY_TYPE_TIMESTAMP_DISJOINT: - hr = S_OK; + hr = true; break; case GPU_QUERY_TYPE_OCCLUSION: case GPU_QUERY_TYPE_OCCLUSION_PREDICATE: if (free_occlusionqueries.pop_front(query_index)) { pQuery->resource = (wiCPUHandle)query_index; - hr = S_OK; + hr = true; } else { @@ -3027,11 +3027,11 @@ namespace wiGraphics break; } - assert(SUCCEEDED(hr)); + assert(hr); return hr; } - HRESULT GraphicsDevice_Vulkan::CreatePipelineState(const PipelineStateDesc* pDesc, PipelineState* pso) + bool GraphicsDevice_Vulkan::CreatePipelineState(const PipelineStateDesc* pDesc, PipelineState* pso) { DestroyPipelineState(pso); pso->Register(this); @@ -3051,9 +3051,9 @@ namespace wiGraphics wiHelper::hash_combine(pso->hash, pDesc->pt); wiHelper::hash_combine(pso->hash, pDesc->sampleMask); - return S_OK; + return true; } - HRESULT GraphicsDevice_Vulkan::CreateRenderPass(const RenderPassDesc* pDesc, RenderPass* renderpass) + bool GraphicsDevice_Vulkan::CreateRenderPass(const RenderPassDesc* pDesc, RenderPass* renderpass) { DestroyRenderPass(renderpass); renderpass->Register(this); @@ -3235,7 +3235,7 @@ namespace wiGraphics renderpass->renderpass = (wiCPUHandle)renderpass_handle; renderpass->framebuffer = (wiCPUHandle)framebuffer_handle; - return res == VK_SUCCESS ? S_OK : E_FAIL; + return res == VK_SUCCESS ? true : false; } int GraphicsDevice_Vulkan::CreateSubresource(Texture* texture, SUBRESOURCE_TYPE type, uint32_t firstSlice, uint32_t sliceCount, uint32_t firstMip, uint32_t mipCount) diff --git a/WickedEngine/wiGraphicsDevice_Vulkan.h b/WickedEngine/wiGraphicsDevice_Vulkan.h index ef07f4cb2..887f709a5 100644 --- a/WickedEngine/wiGraphicsDevice_Vulkan.h +++ b/WickedEngine/wiGraphicsDevice_Vulkan.h @@ -5,6 +5,10 @@ #include "wiSpinLock.h" #include "wiContainers.h" +#if __has_include("vulkan/vulkan.h") +#define WICKEDENGINE_BUILD_VULKAN +#endif // HAS VULKAN + #ifdef WICKEDENGINE_BUILD_VULKAN #include "wiGraphicsDevice_SharedInternals.h" @@ -258,22 +262,22 @@ namespace wiGraphics GraphicsDevice_Vulkan(wiWindowRegistration::window_type window, bool fullscreen = false, bool debuglayer = false); virtual ~GraphicsDevice_Vulkan(); - HRESULT CreateBuffer(const GPUBufferDesc *pDesc, const SubresourceData* pInitialData, GPUBuffer *pBuffer) override; - HRESULT CreateTexture(const TextureDesc* pDesc, const SubresourceData *pInitialData, Texture *pTexture) override; - HRESULT CreateInputLayout(const VertexLayoutDesc *pInputElementDescs, uint32_t NumElements, const ShaderByteCode* shaderCode, VertexLayout *pInputLayout) override; - HRESULT CreateVertexShader(const void *pShaderBytecode, SIZE_T BytecodeLength, VertexShader *pVertexShader) override; - HRESULT CreatePixelShader(const void *pShaderBytecode, SIZE_T BytecodeLength, PixelShader *pPixelShader) override; - HRESULT CreateGeometryShader(const void *pShaderBytecode, SIZE_T BytecodeLength, GeometryShader *pGeometryShader) override; - HRESULT CreateHullShader(const void *pShaderBytecode, SIZE_T BytecodeLength, HullShader *pHullShader) override; - HRESULT CreateDomainShader(const void *pShaderBytecode, SIZE_T BytecodeLength, DomainShader *pDomainShader) override; - HRESULT CreateComputeShader(const void *pShaderBytecode, SIZE_T BytecodeLength, ComputeShader *pComputeShader) override; - HRESULT CreateBlendState(const BlendStateDesc *pBlendStateDesc, BlendState *pBlendState) override; - HRESULT CreateDepthStencilState(const DepthStencilStateDesc *pDepthStencilStateDesc, DepthStencilState *pDepthStencilState) override; - HRESULT CreateRasterizerState(const RasterizerStateDesc *pRasterizerStateDesc, RasterizerState *pRasterizerState) override; - HRESULT CreateSamplerState(const SamplerDesc *pSamplerDesc, Sampler *pSamplerState) override; - HRESULT CreateQuery(const GPUQueryDesc *pDesc, GPUQuery *pQuery) override; - HRESULT CreatePipelineState(const PipelineStateDesc* pDesc, PipelineState* pso) override; - HRESULT CreateRenderPass(const RenderPassDesc* pDesc, RenderPass* renderpass) override; + bool CreateBuffer(const GPUBufferDesc *pDesc, const SubresourceData* pInitialData, GPUBuffer *pBuffer) override; + bool CreateTexture(const TextureDesc* pDesc, const SubresourceData *pInitialData, Texture *pTexture) override; + bool CreateInputLayout(const VertexLayoutDesc *pInputElementDescs, uint32_t NumElements, const ShaderByteCode* shaderCode, VertexLayout *pInputLayout) override; + bool CreateVertexShader(const void *pShaderBytecode, size_t BytecodeLength, VertexShader *pVertexShader) override; + bool CreatePixelShader(const void *pShaderBytecode, size_t BytecodeLength, PixelShader *pPixelShader) override; + bool CreateGeometryShader(const void *pShaderBytecode, size_t BytecodeLength, GeometryShader *pGeometryShader) override; + bool CreateHullShader(const void *pShaderBytecode, size_t BytecodeLength, HullShader *pHullShader) override; + bool CreateDomainShader(const void *pShaderBytecode, size_t BytecodeLength, DomainShader *pDomainShader) override; + bool CreateComputeShader(const void *pShaderBytecode, size_t BytecodeLength, ComputeShader *pComputeShader) override; + bool CreateBlendState(const BlendStateDesc *pBlendStateDesc, BlendState *pBlendState) override; + bool CreateDepthStencilState(const DepthStencilStateDesc *pDepthStencilStateDesc, DepthStencilState *pDepthStencilState) override; + bool CreateRasterizerState(const RasterizerStateDesc *pRasterizerStateDesc, RasterizerState *pRasterizerState) override; + bool CreateSamplerState(const SamplerDesc *pSamplerDesc, Sampler *pSamplerState) override; + bool CreateQuery(const GPUQueryDesc *pDesc, GPUQuery *pQuery) override; + bool CreatePipelineState(const PipelineStateDesc* pDesc, PipelineState* pso) override; + bool CreateRenderPass(const RenderPassDesc* pDesc, RenderPass* renderpass) override; int CreateSubresource(Texture* texture, SUBRESOURCE_TYPE type, uint32_t firstSlice, uint32_t sliceCount, uint32_t firstMip, uint32_t mipCount) override; diff --git a/WickedEngine/wiGraphicsResource.h b/WickedEngine/wiGraphicsResource.h index 932b0b170..de0986f0e 100644 --- a/WickedEngine/wiGraphicsResource.h +++ b/WickedEngine/wiGraphicsResource.h @@ -17,7 +17,7 @@ namespace wiGraphics struct ShaderByteCode { - BYTE* data = nullptr; + uint8_t* data = nullptr; size_t size = 0; ~ShaderByteCode() { SAFE_DELETE_ARRAY(data); } }; diff --git a/WickedEngine/wiImage.cpp b/WickedEngine/wiImage.cpp index 595b985f0..a818ff9d3 100644 --- a/WickedEngine/wiImage.cpp +++ b/WickedEngine/wiImage.cpp @@ -297,8 +297,7 @@ namespace wiImage bd.ByteWidth = sizeof(ImageCB); bd.BindFlags = BIND_CONSTANT_BUFFER; bd.CPUAccessFlags = CPU_ACCESS_WRITE; - HRESULT hr = device->CreateBuffer(&bd, nullptr, &constantBuffer); - assert(SUCCEEDED(hr)); + device->CreateBuffer(&bd, nullptr, &constantBuffer); } RasterizerStateDesc rs; diff --git a/WickedEngine/wiInputManager.cpp b/WickedEngine/wiInputManager.cpp index 5494c1c7d..c23699dac 100644 --- a/WickedEngine/wiInputManager.cpp +++ b/WickedEngine/wiInputManager.cpp @@ -52,7 +52,7 @@ namespace wiInputManager wiXInput* xinput = nullptr; wiDirectInput* dinput = nullptr; - wiRawInput* rawinput = nullptr; + //wiRawInput* rawinput = nullptr; struct Controller { enum DeviceType @@ -97,7 +97,7 @@ namespace wiInputManager if(dinput != nullptr) dinput->Frame(); if(xinput != nullptr) xinput->UpdateControllerState(); - if(rawinput != nullptr) rawinput->RetrieveBufferedData(); + //if(rawinput != nullptr) rawinput->RetrieveBufferedData(); for (auto iter = inputs.begin(); iter != inputs.end();) { diff --git a/WickedEngine/wiNetwork.h b/WickedEngine/wiNetwork.h index e26a4f964..866e83258 100644 --- a/WickedEngine/wiNetwork.h +++ b/WickedEngine/wiNetwork.h @@ -36,22 +36,22 @@ namespace wiNetwork void CleanUp(); // Creates a socket that can be used to send or receive data - HRESULT CreateSocket(Socket* sock); + bool CreateSocket(Socket* sock); // Destroys socket - HRESULT Destroy(Socket* sock); + bool Destroy(Socket* sock); // Sends data packet to destination connection // sock : socket that sends the packet // connection : connection to the receiver, it is provided by the call site // data : buffer that contains data to send // dataSize : size of the data to send in bytes - HRESULT Send(const Socket* sock, const Connection* connection, const void* data, size_t dataSize); + bool Send(const Socket* sock, const Connection* connection, const void* data, size_t dataSize); // Enables the socket to receive data on a port // sock : socket that receives packet // port : port number to open - HRESULT ListenPort(const Socket* sock, uint16_t port = DEFAULT_PORT); + bool ListenPort(const Socket* sock, uint16_t port = DEFAULT_PORT); // Checks whether any data can be received at the moment, returns immediately // sock : socket that receives packet @@ -64,5 +64,5 @@ namespace wiNetwork // connection : sender's connection data will be written to it when the function returns // data : buffer to hold received data, must be already allocated to a sufficient size // dataSize : expected data size in bytes - HRESULT Receive(const Socket* sock, Connection* connection, void* data, size_t dataSize); + bool Receive(const Socket* sock, Connection* connection, void* data, size_t dataSize); } diff --git a/WickedEngine/wiNetwork_UWP.cpp b/WickedEngine/wiNetwork_UWP.cpp index 2298f6810..c0886fc40 100644 --- a/WickedEngine/wiNetwork_UWP.cpp +++ b/WickedEngine/wiNetwork_UWP.cpp @@ -16,23 +16,23 @@ namespace wiNetwork { } - HRESULT CreateSocket(Socket* sock) + bool CreateSocket(Socket* sock) { - return E_FAIL; + return false; } - HRESULT Destroy(Socket* sock) + bool Destroy(Socket* sock) { - return E_FAIL; + return false; } - HRESULT Send(const Socket* sock, const Connection* connection, const void* data, size_t dataSize) + bool Send(const Socket* sock, const Connection* connection, const void* data, size_t dataSize) { - return E_FAIL; + return false; } - HRESULT ListenPort(const Socket* sock, uint16_t port) + bool ListenPort(const Socket* sock, uint16_t port) { - return E_FAIL; + return false; } bool CanReceive(const Socket* sock, long timeout_microseconds) @@ -40,9 +40,9 @@ namespace wiNetwork return false; } - HRESULT Receive(const Socket* sock, Connection* connection, void* data, size_t dataSize) + bool Receive(const Socket* sock, Connection* connection, void* data, size_t dataSize) { - return E_FAIL; + return false; } } diff --git a/WickedEngine/wiNetwork_Windows.cpp b/WickedEngine/wiNetwork_Windows.cpp index 9e91b55c7..d5c81b6e4 100644 --- a/WickedEngine/wiNetwork_Windows.cpp +++ b/WickedEngine/wiNetwork_Windows.cpp @@ -36,7 +36,7 @@ namespace wiNetwork WSACleanup(); } - HRESULT CreateSocket(Socket* sock) + bool CreateSocket(Socket* sock) { Destroy(sock); @@ -47,14 +47,14 @@ namespace wiNetwork std::stringstream ss; ss << "wiNetwork error in CreateSocket: " << error; wiBackLog::post(ss.str().c_str()); - return E_FAIL; + return false; } sock->handle = (wiCPUHandle)handle; - return S_OK; + return true; } - HRESULT Destroy(Socket* sock) + bool Destroy(Socket* sock) { if (socket != nullptr && sock->handle != WI_NULL_HANDLE) { @@ -65,16 +65,16 @@ namespace wiNetwork std::stringstream ss; ss << "wiNetwork error in Destroy: " << error; wiBackLog::post(ss.str().c_str()); - return E_FAIL; + return false; } sock->handle = WI_NULL_HANDLE; - return S_OK; + return true; } - return E_FAIL; + return false; } - HRESULT Send(const Socket* sock, const Connection* connection, const void* data, size_t dataSize) + bool Send(const Socket* sock, const Connection* connection, const void* data, size_t dataSize) { if (socket != nullptr && sock->handle != WI_NULL_HANDLE) { @@ -93,15 +93,15 @@ namespace wiNetwork std::stringstream ss; ss << "wiNetwork error in Send: " << error; wiBackLog::post(ss.str().c_str()); - return E_FAIL; + return false; } - return S_OK; + return true; } - return E_FAIL; + return false; } - HRESULT ListenPort(const Socket* sock, uint16_t port) + bool ListenPort(const Socket* sock, uint16_t port) { if (socket != nullptr && sock->handle != WI_NULL_HANDLE) { @@ -117,12 +117,12 @@ namespace wiNetwork std::stringstream ss; ss << "wiNetwork error in ListenPort: " << error; wiBackLog::post(ss.str().c_str()); - return E_FAIL; + return false; } - return S_OK; + return true; } - return E_FAIL; + return false; } bool CanReceive(const Socket* sock, long timeout_microseconds) @@ -150,7 +150,7 @@ namespace wiNetwork return false; } - HRESULT Receive(const Socket* sock, Connection* connection, void* data, size_t dataSize) + bool Receive(const Socket* sock, Connection* connection, void* data, size_t dataSize) { if (socket != nullptr && sock->handle != WI_NULL_HANDLE) { @@ -163,7 +163,7 @@ namespace wiNetwork std::stringstream ss; ss << "wiNetwork error in Receive: " << error; wiBackLog::post(ss.str().c_str()); - return E_FAIL; + return false; } connection->port = htons(sender.sin_port); // reverse byte order from network to host @@ -172,9 +172,9 @@ namespace wiNetwork connection->ipaddress[2] = sender.sin_addr.S_un.S_un_b.s_b3; connection->ipaddress[3] = sender.sin_addr.S_un.S_un_b.s_b4; - return S_OK; + return true; } - return E_FAIL; + return false; } } diff --git a/WickedEngine/wiRawInput.cpp b/WickedEngine/wiRawInput.cpp index c4636755f..9823fb650 100644 --- a/WickedEngine/wiRawInput.cpp +++ b/WickedEngine/wiRawInput.cpp @@ -1,180 +1,180 @@ -#include "wiRawInput.h" - -#ifndef WINSTORE_SUPPORT - -wiRawInput::wiRawInput(HWND hWnd) -{ - RegisterJoys(hWnd); - //RegisterKeyboardMouse(hWnd); - - //RAWINPUTDEVICE Rid[3]; - - //Rid[0].usUsagePage = 0x01; - //Rid[0].usUsage = 0x02; - //Rid[0].dwFlags = 0; - ////Rid[0].dwFlags = RIDEV_NOLEGACY; // adds HID mouse and also ignores legacy mouse messages - //Rid[0].hwndTarget = hWnd; - - //Rid[1].usUsagePage = 0x01; - //Rid[1].usUsage = 0x06; - //Rid[1].dwFlags = 0; - ////Rid[1].dwFlags = RIDEV_NOLEGACY; // adds HID keyboard and also ignores legacy keyboard messages - //Rid[1].hwndTarget = hWnd; - - //Rid[2].usUsagePage = 0x01; - //Rid[2].usUsage = 0x04; - //Rid[2].dwFlags = 0; // adds joystick - //Rid[2].hwndTarget = hWnd; - - //if (RegisterRawInputDevices(Rid, 3, sizeof(Rid[0])) == FALSE) { - // DWORD error = GetLastError(); - //} -} - -wiRawInput::~wiRawInput() -{ -} - -bool wiRawInput::RegisterJoys(HWND hWnd) -{ - RAWINPUTDEVICE Rid[2]; - - Rid[0].usUsagePage = 0x01; - Rid[0].usUsage = 0x05; - Rid[0].dwFlags = 0; // adds game pad - Rid[0].hwndTarget = hWnd; - - Rid[1].usUsagePage = 0x01; - Rid[1].usUsage = 0x04; - Rid[1].dwFlags = 0; // adds joystick - Rid[1].hwndTarget = hWnd; - - if (RegisterRawInputDevices(Rid, 2, sizeof(Rid[0])) == FALSE) { - DWORD error = GetLastError(); - return false; - } - - return true; -} - -bool wiRawInput::RegisterKeyboardMouse(HWND hWnd) -{ - RAWINPUTDEVICE Rid[2]; - - Rid[0].usUsagePage = 0x01; - Rid[0].usUsage = 0x02; - Rid[0].dwFlags = 0; - //Rid[0].dwFlags = RIDEV_NOLEGACY; // adds HID mouse and also ignores legacy mouse messages - Rid[0].hwndTarget = hWnd; - - Rid[1].usUsagePage = 0x01; - Rid[1].usUsage = 0x06; - Rid[1].dwFlags = 0; - //Rid[1].dwFlags = RIDEV_NOLEGACY; // adds HID keyboard and also ignores legacy keyboard messages - Rid[1].hwndTarget = hWnd; - - if (RegisterRawInputDevices(Rid, 2, sizeof(Rid[0])) == FALSE) { - DWORD error = GetLastError(); - return false; - } - - return true; -} - -void wiRawInput::RetrieveData(LPARAM lParam) -{ - uint32_t dwSize; - - GetRawInputData((HRAWINPUT)lParam, RID_INPUT, NULL, &dwSize, sizeof(RAWINPUTHEADER)); - LPBYTE lpb = new BYTE[dwSize]; - if (lpb == NULL) - { - return; - } - - if (GetRawInputData((HRAWINPUT)lParam, RID_INPUT, lpb, &dwSize, sizeof(RAWINPUTHEADER)) != dwSize) - OutputDebugString(TEXT("GetRawInputData does not return correct size !\n")); - - raw = RAWINPUT( (const RAWINPUT&)*lpb ); - - if (raw.header.dwType == RIM_TYPEHID) - { - int asd = 2; - asd = asd; - } - - delete[] lpb; - return; -} - -void wiRawInput::RetrieveBufferedData() -{ - //// Some temp global buffer, 1KB is overkill. - //static uint64_t rawBuffer[1024 / 8]; - // - //// Then in some function, - //uint32_t bytes = sizeof(rawBuffer); - //// Loop through reading raw input until no events are left, - //while (1) { - // // Fill up buffer, - // int32_t count = GetRawInputBuffer((PRAWINPUT)rawBuffer, &bytes, sizeof(RAWINPUTHEADER)); - // if (count <= 0) return; - // - // // Process all the events, - // const RAWINPUT* raw = (const RAWINPUT*) rawBuffer; - // while (1) { - // // Process raw event. - // this->raw = *raw; - // // Goto next raw event. - // count--; - // if (count <= 0) break; - // raw = NEXTRAWINPUTBLOCK(raw); - // } - //} - - //////while (true){ - //// uint32_t cbSize; - //// //Sleep(1000); - - //// GetRawInputBuffer(NULL, &cbSize, sizeof(RAWINPUTHEADER)); - //// cbSize *= 16; // this is a wild guess - //// PRAWINPUT pRawInput = (PRAWINPUT)malloc(cbSize); - //// if (pRawInput == NULL) - //// { - //// return; - //// } - //// for (;;) - //// { - //// uint32_t cbSizeT = cbSize; - //// uint32_t nInput = GetRawInputBuffer(pRawInput, &cbSizeT, sizeof(RAWINPUTHEADER)); - //// if (nInput == 0) - //// { - //// break; - //// } - //// assert(nInput > 0); - //// PRAWINPUT* paRawInput = (PRAWINPUT*)malloc(sizeof(PRAWINPUT) * nInput); - //// if (paRawInput == NULL) - //// { - //// break; - //// } - //// PRAWINPUT pri = pRawInput; - //// for (uint32_t i = 0; i < nInput; ++i) - //// { - //// paRawInput[i] = pri; - //// pri = NEXTRAWINPUTBLOCK(pri); - //// if (pri->header.dwType == RIM_TYPEHID) - //// { - //// int asd=32; - //// asd = asd; - //// } - //// } - //// // to clean the buffer - //// DefRawInputProc(paRawInput, nInput, sizeof(RAWINPUTHEADER)); - - //// free(paRawInput); - //// } - //// free(pRawInput); - //////} -} - -#endif //WINSTORE_SUPPORT +//#include "wiRawInput.h" +// +//#ifndef WINSTORE_SUPPORT +// +//wiRawInput::wiRawInput(HWND hWnd) +//{ +// RegisterJoys(hWnd); +// //RegisterKeyboardMouse(hWnd); +// +// //RAWINPUTDEVICE Rid[3]; +// +// //Rid[0].usUsagePage = 0x01; +// //Rid[0].usUsage = 0x02; +// //Rid[0].dwFlags = 0; +// ////Rid[0].dwFlags = RIDEV_NOLEGACY; // adds HID mouse and also ignores legacy mouse messages +// //Rid[0].hwndTarget = hWnd; +// +// //Rid[1].usUsagePage = 0x01; +// //Rid[1].usUsage = 0x06; +// //Rid[1].dwFlags = 0; +// ////Rid[1].dwFlags = RIDEV_NOLEGACY; // adds HID keyboard and also ignores legacy keyboard messages +// //Rid[1].hwndTarget = hWnd; +// +// //Rid[2].usUsagePage = 0x01; +// //Rid[2].usUsage = 0x04; +// //Rid[2].dwFlags = 0; // adds joystick +// //Rid[2].hwndTarget = hWnd; +// +// //if (RegisterRawInputDevices(Rid, 3, sizeof(Rid[0])) == FALSE) { +// // DWORD error = GetLastError(); +// //} +//} +// +//wiRawInput::~wiRawInput() +//{ +//} +// +//bool wiRawInput::RegisterJoys(HWND hWnd) +//{ +// RAWINPUTDEVICE Rid[2]; +// +// Rid[0].usUsagePage = 0x01; +// Rid[0].usUsage = 0x05; +// Rid[0].dwFlags = 0; // adds game pad +// Rid[0].hwndTarget = hWnd; +// +// Rid[1].usUsagePage = 0x01; +// Rid[1].usUsage = 0x04; +// Rid[1].dwFlags = 0; // adds joystick +// Rid[1].hwndTarget = hWnd; +// +// if (RegisterRawInputDevices(Rid, 2, sizeof(Rid[0])) == FALSE) { +// DWORD error = GetLastError(); +// return false; +// } +// +// return true; +//} +// +//bool wiRawInput::RegisterKeyboardMouse(HWND hWnd) +//{ +// RAWINPUTDEVICE Rid[2]; +// +// Rid[0].usUsagePage = 0x01; +// Rid[0].usUsage = 0x02; +// Rid[0].dwFlags = 0; +// //Rid[0].dwFlags = RIDEV_NOLEGACY; // adds HID mouse and also ignores legacy mouse messages +// Rid[0].hwndTarget = hWnd; +// +// Rid[1].usUsagePage = 0x01; +// Rid[1].usUsage = 0x06; +// Rid[1].dwFlags = 0; +// //Rid[1].dwFlags = RIDEV_NOLEGACY; // adds HID keyboard and also ignores legacy keyboard messages +// Rid[1].hwndTarget = hWnd; +// +// if (RegisterRawInputDevices(Rid, 2, sizeof(Rid[0])) == FALSE) { +// DWORD error = GetLastError(); +// return false; +// } +// +// return true; +//} +// +//void wiRawInput::RetrieveData(LPARAM lParam) +//{ +// uint32_t dwSize; +// +// GetRawInputData((HRAWINPUT)lParam, RID_INPUT, NULL, &dwSize, sizeof(RAWINPUTHEADER)); +// LPBYTE lpb = new BYTE[dwSize]; +// if (lpb == NULL) +// { +// return; +// } +// +// if (GetRawInputData((HRAWINPUT)lParam, RID_INPUT, lpb, &dwSize, sizeof(RAWINPUTHEADER)) != dwSize) +// OutputDebugString(TEXT("GetRawInputData does not return correct size !\n")); +// +// raw = RAWINPUT( (const RAWINPUT&)*lpb ); +// +// if (raw.header.dwType == RIM_TYPEHID) +// { +// int asd = 2; +// asd = asd; +// } +// +// delete[] lpb; +// return; +//} +// +//void wiRawInput::RetrieveBufferedData() +//{ +// //// Some temp global buffer, 1KB is overkill. +// //static uint64_t rawBuffer[1024 / 8]; +// // +// //// Then in some function, +// //uint32_t bytes = sizeof(rawBuffer); +// //// Loop through reading raw input until no events are left, +// //while (1) { +// // // Fill up buffer, +// // int32_t count = GetRawInputBuffer((PRAWINPUT)rawBuffer, &bytes, sizeof(RAWINPUTHEADER)); +// // if (count <= 0) return; +// // +// // // Process all the events, +// // const RAWINPUT* raw = (const RAWINPUT*) rawBuffer; +// // while (1) { +// // // Process raw event. +// // this->raw = *raw; +// // // Goto next raw event. +// // count--; +// // if (count <= 0) break; +// // raw = NEXTRAWINPUTBLOCK(raw); +// // } +// //} +// +// //////while (true){ +// //// uint32_t cbSize; +// //// //Sleep(1000); +// +// //// GetRawInputBuffer(NULL, &cbSize, sizeof(RAWINPUTHEADER)); +// //// cbSize *= 16; // this is a wild guess +// //// PRAWINPUT pRawInput = (PRAWINPUT)malloc(cbSize); +// //// if (pRawInput == NULL) +// //// { +// //// return; +// //// } +// //// for (;;) +// //// { +// //// uint32_t cbSizeT = cbSize; +// //// uint32_t nInput = GetRawInputBuffer(pRawInput, &cbSizeT, sizeof(RAWINPUTHEADER)); +// //// if (nInput == 0) +// //// { +// //// break; +// //// } +// //// assert(nInput > 0); +// //// PRAWINPUT* paRawInput = (PRAWINPUT*)malloc(sizeof(PRAWINPUT) * nInput); +// //// if (paRawInput == NULL) +// //// { +// //// break; +// //// } +// //// PRAWINPUT pri = pRawInput; +// //// for (uint32_t i = 0; i < nInput; ++i) +// //// { +// //// paRawInput[i] = pri; +// //// pri = NEXTRAWINPUTBLOCK(pri); +// //// if (pri->header.dwType == RIM_TYPEHID) +// //// { +// //// int asd=32; +// //// asd = asd; +// //// } +// //// } +// //// // to clean the buffer +// //// DefRawInputProc(paRawInput, nInput, sizeof(RAWINPUTHEADER)); +// +// //// free(paRawInput); +// //// } +// //// free(pRawInput); +// //////} +//} +// +//#endif //WINSTORE_SUPPORT diff --git a/WickedEngine/wiRawInput.h b/WickedEngine/wiRawInput.h index 88cb4929a..c09925c7a 100644 --- a/WickedEngine/wiRawInput.h +++ b/WickedEngine/wiRawInput.h @@ -1,29 +1,29 @@ #pragma once #include "CommonInclude.h" -class wiRawInput -{ -public: -#ifndef WINSTORE_SUPPORT - wiRawInput(HWND hWnd = NULL); - ~wiRawInput(); - - //for generic joypad support - bool RegisterJoys(HWND hWnd); - //disables legacy mouse and keyboard support - bool RegisterKeyboardMouse(HWND hWnd); - //use this in WndProc in case of WM_INPUT event - void RetrieveData(LPARAM lParam); - //read buffered data - void RetrieveBufferedData(); - - RAWINPUT raw; - -#else - //Raw input is not available! - wiRawInput(){} - //Raw input is not available! - void RetrieveBufferedData(){} -#endif //WINSTORE_SUPPORT -}; +//class wiRawInput +//{ +//public: +//#ifndef WINSTORE_SUPPORT +// wiRawInput(HWND hWnd = NULL); +// ~wiRawInput(); +// +// //for generic joypad support +// bool RegisterJoys(HWND hWnd); +// //disables legacy mouse and keyboard support +// bool RegisterKeyboardMouse(HWND hWnd); +// //use this in WndProc in case of WM_INPUT event +// void RetrieveData(LPARAM lParam); +// //read buffered data +// void RetrieveBufferedData(); +// +// RAWINPUT raw; +// +//#else +// //Raw input is not available! +// wiRawInput(){} +// //Raw input is not available! +// void RetrieveBufferedData(){} +//#endif //WINSTORE_SUPPORT +//}; diff --git a/WickedEngine/wiRenderer.cpp b/WickedEngine/wiRenderer.cpp index beddfb5c5..d9807757a 100644 --- a/WickedEngine/wiRenderer.cpp +++ b/WickedEngine/wiRenderer.cpp @@ -2784,8 +2784,7 @@ void LoadShaders() break; } - HRESULT hr = device->CreatePipelineState(&desc, &PSO_debug[args.jobIndex]); - assert(SUCCEEDED(hr)); + device->CreatePipelineState(&desc, &PSO_debug[args.jobIndex]); }); @@ -3434,8 +3433,7 @@ void UpdatePerFrameData(float dt, uint32_t layerMask) desc.ByteWidth = sizeof(MaterialCB); material.constantBuffer.reset(new GPUBuffer); - HRESULT hr = device->CreateBuffer(&desc, nullptr, material.constantBuffer.get()); - assert(SUCCEEDED(hr)); + device->CreateBuffer(&desc, nullptr, material.constantBuffer.get()); } } } @@ -3464,14 +3462,12 @@ void UpdatePerFrameData(float dt, uint32_t layerMask) bd.StructureByteStride = sizeof(ArmatureComponent::ShaderBoneType); armature.boneBuffer.reset(new GPUBuffer); - HRESULT hr = device->CreateBuffer(&bd, nullptr, armature.boneBuffer.get()); - assert(SUCCEEDED(hr)); + device->CreateBuffer(&bd, nullptr, armature.boneBuffer.get()); } if (mesh.vertexBuffer_PRE == nullptr) { mesh.vertexBuffer_PRE.reset(new GPUBuffer); - HRESULT hr = device->CreateBuffer(&mesh.streamoutBuffer_POS->GetDesc(), nullptr, mesh.vertexBuffer_PRE.get()); - assert(SUCCEEDED(hr)); + device->CreateBuffer(&mesh.streamoutBuffer_POS->GetDesc(), nullptr, mesh.vertexBuffer_PRE.get()); } mesh.streamoutBuffer_POS.swap(mesh.vertexBuffer_PRE); } @@ -3484,8 +3480,7 @@ void UpdatePerFrameData(float dt, uint32_t layerMask) if (mesh.vertexBuffer_PRE == nullptr) { mesh.vertexBuffer_PRE.reset(new GPUBuffer); - HRESULT hr = device->CreateBuffer(&mesh.vertexBuffer_POS->GetDesc(), nullptr, mesh.vertexBuffer_PRE.get()); - assert(SUCCEEDED(hr)); + device->CreateBuffer(&mesh.vertexBuffer_POS->GetDesc(), nullptr, mesh.vertexBuffer_PRE.get()); } mesh.vertexBuffer_POS.swap(mesh.vertexBuffer_PRE); } @@ -6170,8 +6165,7 @@ void ManageEnvProbes() desc.MiscFlags = RESOURCE_MISC_TEXTURECUBE; desc.Usage = USAGE_DEFAULT; - HRESULT hr = device->CreateTexture(&desc, nullptr, &envrenderingDepthBuffer); - assert(SUCCEEDED(hr)); + device->CreateTexture(&desc, nullptr, &envrenderingDepthBuffer); desc.ArraySize = envmapCount * 6; desc.BindFlags = BIND_SHADER_RESOURCE | BIND_RENDER_TARGET | BIND_UNORDERED_ACCESS; @@ -6184,8 +6178,7 @@ void ManageEnvProbes() desc.Usage = USAGE_DEFAULT; textures[TEXTYPE_CUBEARRAY_ENVMAPARRAY] = new Texture; - hr = device->CreateTexture(&desc, nullptr, textures[TEXTYPE_CUBEARRAY_ENVMAPARRAY]); - assert(SUCCEEDED(hr)); + device->CreateTexture(&desc, nullptr, textures[TEXTYPE_CUBEARRAY_ENVMAPARRAY]); renderpasses_envmap.resize(envmapCount); @@ -6414,8 +6407,7 @@ void ManageImpostors() desc.BindFlags = BIND_DEPTH_STENCIL; desc.ArraySize = 1; desc.Format = DSFormat_small; - HRESULT hr = device->CreateTexture(&desc, nullptr, &impostorDepthStencil); - assert(SUCCEEDED(hr)); + device->CreateTexture(&desc, nullptr, &impostorDepthStencil); device->SetName(&impostorDepthStencil, "impostorDepthStencil"); desc.BindFlags = BIND_RENDER_TARGET | BIND_SHADER_RESOURCE | BIND_UNORDERED_ACCESS; @@ -6423,8 +6415,7 @@ void ManageImpostors() desc.Format = RTFormat_impostor; textures[TEXTYPE_2D_IMPOSTORARRAY] = new Texture; - hr = device->CreateTexture(&desc, nullptr, textures[TEXTYPE_2D_IMPOSTORARRAY]); - assert(SUCCEEDED(hr)); + device->CreateTexture(&desc, nullptr, textures[TEXTYPE_2D_IMPOSTORARRAY]); device->SetName(textures[TEXTYPE_2D_IMPOSTORARRAY], "ImpostorTarget"); renderpasses_impostor.resize(desc.ArraySize); @@ -6439,7 +6430,7 @@ void ManageImpostors() renderpassdesc.numAttachments = 2; renderpassdesc.attachments[0] = { RenderPassAttachment::RENDERTARGET,RenderPassAttachment::LOADOP_CLEAR,textures[TEXTYPE_2D_IMPOSTORARRAY], subresource_index }; renderpassdesc.attachments[1] = { RenderPassAttachment::DEPTH_STENCIL,RenderPassAttachment::LOADOP_CLEAR,&impostorDepthStencil, subresource_index }; - hr = device->CreateRenderPass(&renderpassdesc, &renderpasses_impostor[subresource_index]); + device->CreateRenderPass(&renderpassdesc, &renderpasses_impostor[subresource_index]); } } } @@ -6615,8 +6606,7 @@ void VoxelRadiance(CommandList cmd) desc.MiscFlags = 0; textures[TEXTYPE_3D_VOXELRADIANCE] = new Texture; - HRESULT hr = device->CreateTexture(&desc, nullptr, textures[TEXTYPE_3D_VOXELRADIANCE]); - assert(SUCCEEDED(hr)); + device->CreateTexture(&desc, nullptr, textures[TEXTYPE_3D_VOXELRADIANCE]); for (uint32_t i = 0; i < textures[TEXTYPE_3D_VOXELRADIANCE]->GetDesc().MipLevels; ++i) { @@ -6635,8 +6625,7 @@ void VoxelRadiance(CommandList cmd) { TextureDesc desc = textures[TEXTYPE_3D_VOXELRADIANCE]->GetDesc(); textures[TEXTYPE_3D_VOXELRADIANCE_HELPER] = new Texture; - HRESULT hr = device->CreateTexture(&desc, nullptr, textures[TEXTYPE_3D_VOXELRADIANCE_HELPER]); - assert(SUCCEEDED(hr)); + device->CreateTexture(&desc, nullptr, textures[TEXTYPE_3D_VOXELRADIANCE_HELPER]); for (uint32_t i = 0; i < textures[TEXTYPE_3D_VOXELRADIANCE_HELPER]->GetDesc().MipLevels; ++i) { @@ -6657,8 +6646,7 @@ void VoxelRadiance(CommandList cmd) desc.MiscFlags = RESOURCE_MISC_BUFFER_STRUCTURED; desc.Usage = USAGE_DEFAULT; - HRESULT hr = device->CreateBuffer(&desc, nullptr, &resourceBuffers[RBTYPE_VOXELSCENE]); - assert(SUCCEEDED(hr)); + device->CreateBuffer(&desc, nullptr, &resourceBuffers[RBTYPE_VOXELSCENE]); } Texture* result = textures[TEXTYPE_3D_VOXELRADIANCE]; @@ -7313,7 +7301,6 @@ void RayBuffers::Create(GraphicsDevice* device, uint32_t newRayCapacity) rayCapacity = newRayCapacity; GPUBufferDesc desc; - HRESULT hr; desc.BindFlags = BIND_SHADER_RESOURCE | BIND_UNORDERED_ACCESS; desc.CPUAccessFlags = 0; @@ -7323,36 +7310,29 @@ void RayBuffers::Create(GraphicsDevice* device, uint32_t newRayCapacity) desc.StructureByteStride = sizeof(uint); desc.ByteWidth = desc.StructureByteStride * rayCapacity; - hr = device->CreateBuffer(&desc, nullptr, &rayIndexBuffer[0]); - assert(SUCCEEDED(hr)); + device->CreateBuffer(&desc, nullptr, &rayIndexBuffer[0]); device->SetName(&rayIndexBuffer[0], "rayIndexBuffer[0]"); - hr = device->CreateBuffer(&desc, nullptr, &rayIndexBuffer[1]); - assert(SUCCEEDED(hr)); + device->CreateBuffer(&desc, nullptr, &rayIndexBuffer[1]); device->SetName(&rayIndexBuffer[1], "rayIndexBuffer[1]"); desc.StructureByteStride = sizeof(float); // sorting needs float now desc.ByteWidth = desc.StructureByteStride * rayCapacity; - hr = device->CreateBuffer(&desc, nullptr, &raySortBuffer); - assert(SUCCEEDED(hr)); + device->CreateBuffer(&desc, nullptr, &raySortBuffer); device->SetName(&raySortBuffer, "raySortBuffer"); desc.StructureByteStride = sizeof(RaytracingStoredRay); desc.ByteWidth = desc.StructureByteStride * rayCapacity; - hr = device->CreateBuffer(&desc, nullptr, &rayBuffer[0]); - assert(SUCCEEDED(hr)); + device->CreateBuffer(&desc, nullptr, &rayBuffer[0]); device->SetName(&rayBuffer[0], "rayBuffer[0]"); - hr = device->CreateBuffer(&desc, nullptr, &rayBuffer[1]); - assert(SUCCEEDED(hr)); + device->CreateBuffer(&desc, nullptr, &rayBuffer[1]); device->SetName(&rayBuffer[1], "rayBuffer[1]"); desc.MiscFlags = RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS; desc.StructureByteStride = sizeof(uint); desc.ByteWidth = desc.StructureByteStride; - hr = device->CreateBuffer(&desc, nullptr, &rayCountBuffer[0]); - assert(SUCCEEDED(hr)); + device->CreateBuffer(&desc, nullptr, &rayCountBuffer[0]); device->SetName(&rayCountBuffer[0], "rayCountBuffer[0]"); - hr = device->CreateBuffer(&desc, nullptr, &rayCountBuffer[1]); - assert(SUCCEEDED(hr)); + device->CreateBuffer(&desc, nullptr, &rayCountBuffer[1]); device->SetName(&rayCountBuffer[1], "rayCountBuffer[1]"); } @@ -7427,7 +7407,6 @@ void RayTraceScene( if (!indirectBuffer.IsValid()) { GPUBufferDesc desc; - HRESULT hr; desc.BindFlags = BIND_UNORDERED_ACCESS; desc.StructureByteStride = sizeof(IndirectDispatchArgs); @@ -7436,8 +7415,7 @@ void RayTraceScene( desc.Format = FORMAT_UNKNOWN; desc.MiscFlags = RESOURCE_MISC_INDIRECT_ARGS | RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS; desc.Usage = USAGE_DEFAULT; - hr = device->CreateBuffer(&desc, nullptr, &indirectBuffer); - assert(SUCCEEDED(hr)); + device->CreateBuffer(&desc, nullptr, &indirectBuffer); device->SetName(&indirectBuffer, "raytrace_indirectBuffer"); } @@ -7781,8 +7759,7 @@ void ManageLightmapAtlas() desc.Format = RTFormat_lightmap_object; object.lightmap = std::make_unique(); - HRESULT hr = device->CreateTexture(&desc, nullptr, object.lightmap.get()); - assert(SUCCEEDED(hr)); + device->CreateTexture(&desc, nullptr, object.lightmap.get()); device->SetName(object.lightmap.get(), "objectLightmap"); RenderPassDesc renderpassdesc; @@ -7790,12 +7767,12 @@ void ManageLightmapAtlas() renderpassdesc.numAttachments = 1; renderpassdesc.attachments[0] = { RenderPassAttachment::RENDERTARGET,RenderPassAttachment::LOADOP_CLEAR,object.lightmap.get(),-1 }; object.renderpass_lightmap_clear = std::make_unique(); - hr = device->CreateRenderPass(&renderpassdesc, object.renderpass_lightmap_clear.get()); + device->CreateRenderPass(&renderpassdesc, object.renderpass_lightmap_clear.get()); renderpassdesc.numAttachments = 1; renderpassdesc.attachments[0] = { RenderPassAttachment::RENDERTARGET,RenderPassAttachment::LOADOP_LOAD,object.lightmap.get(),-1 }; object.renderpass_lightmap_accumulate = std::make_unique(); - hr = device->CreateRenderPass(&renderpassdesc, object.renderpass_lightmap_accumulate.get()); + device->CreateRenderPass(&renderpassdesc, object.renderpass_lightmap_accumulate.get()); } object.lightmapIterationCount++; } diff --git a/WickedEngine/wiResourceManager.cpp b/WickedEngine/wiResourceManager.cpp index 2bd7fb20b..b52275b7d 100644 --- a/WickedEngine/wiResourceManager.cpp +++ b/WickedEngine/wiResourceManager.cpp @@ -208,8 +208,7 @@ const void* wiResourceManager::add(const wiHashString& name, Data_Type newType) } Texture* image = new Texture; - HRESULT hr = wiRenderer::GetDevice()->CreateTexture(&desc, InitData.data(), image); - assert(SUCCEEDED(hr)); + wiRenderer::GetDevice()->CreateTexture(&desc, InitData.data(), image); wiRenderer::GetDevice()->SetName(image, nameStr); success = image; } @@ -249,8 +248,7 @@ const void* wiResourceManager::add(const wiHashString& name, Data_Type newType) } Texture* image = new Texture; - HRESULT hr = device->CreateTexture(&desc, InitData.data(), image); - assert(SUCCEEDED(hr)); + device->CreateTexture(&desc, InitData.data(), image); device->SetName(image, nameStr); for (uint32_t i = 0; i < image->GetDesc().MipLevels; ++i) @@ -277,7 +275,7 @@ const void* wiResourceManager::add(const wiHashString& name, Data_Type newType) case Data_Type::SOUND: { wiAudio::Sound* sound = new wiAudio::Sound; - if (SUCCEEDED(wiAudio::CreateSound(name.GetString(), sound))) + if (wiAudio::CreateSound(name.GetString(), sound)) { success = sound; } diff --git a/WickedEngine/wiSceneSystem.cpp b/WickedEngine/wiSceneSystem.cpp index 68611074d..a0d82a82c 100644 --- a/WickedEngine/wiSceneSystem.cpp +++ b/WickedEngine/wiSceneSystem.cpp @@ -306,7 +306,6 @@ namespace wiSceneSystem void MeshComponent::CreateRenderData() { GraphicsDevice* device = wiRenderer::GetDevice(); - HRESULT hr; // Create index buffer GPU data: { @@ -349,8 +348,7 @@ namespace wiSceneSystem InitData.pSysMem = gpuIndexData; bd.ByteWidth = (uint32_t)(stride * indices.size()); indexBuffer.reset(new GPUBuffer); - hr = device->CreateBuffer(&bd, &InitData, indexBuffer.get()); - assert(SUCCEEDED(hr)); + device->CreateBuffer(&bd, &InitData, indexBuffer.get()); SAFE_DELETE_ARRAY(gpuIndexData); } @@ -397,8 +395,7 @@ namespace wiSceneSystem SubresourceData InitData; InitData.pSysMem = vertices.data(); vertexBuffer_POS.reset(new GPUBuffer); - hr = device->CreateBuffer(&bd, &InitData, vertexBuffer_POS.get()); - assert(SUCCEEDED(hr)); + device->CreateBuffer(&bd, &InitData, vertexBuffer_POS.get()); } aabb = AABB(_min, _max); @@ -432,8 +429,7 @@ namespace wiSceneSystem SubresourceData InitData; InitData.pSysMem = vertices.data(); vertexBuffer_BON.reset(new GPUBuffer); - hr = device->CreateBuffer(&bd, &InitData, vertexBuffer_BON.get()); - assert(SUCCEEDED(hr)); + device->CreateBuffer(&bd, &InitData, vertexBuffer_BON.get()); bd.Usage = USAGE_DEFAULT; bd.BindFlags = BIND_VERTEX_BUFFER | BIND_UNORDERED_ACCESS | BIND_SHADER_RESOURCE; @@ -442,8 +438,7 @@ namespace wiSceneSystem bd.ByteWidth = (uint32_t)(sizeof(Vertex_POS) * vertex_positions.size()); streamoutBuffer_POS.reset(new GPUBuffer); - hr = device->CreateBuffer(&bd, nullptr, streamoutBuffer_POS.get()); - assert(SUCCEEDED(hr)); + device->CreateBuffer(&bd, nullptr, streamoutBuffer_POS.get()); } // vertexBuffer - UV SET 0 @@ -467,8 +462,7 @@ namespace wiSceneSystem SubresourceData InitData; InitData.pSysMem = vertices.data(); vertexBuffer_UV0.reset(new GPUBuffer); - hr = device->CreateBuffer(&bd, &InitData, vertexBuffer_UV0.get()); - assert(SUCCEEDED(hr)); + device->CreateBuffer(&bd, &InitData, vertexBuffer_UV0.get()); } // vertexBuffer - UV SET 1 @@ -492,8 +486,7 @@ namespace wiSceneSystem SubresourceData InitData; InitData.pSysMem = vertices.data(); vertexBuffer_UV1.reset(new GPUBuffer); - hr = device->CreateBuffer(&bd, &InitData, vertexBuffer_UV1.get()); - assert(SUCCEEDED(hr)); + device->CreateBuffer(&bd, &InitData, vertexBuffer_UV1.get()); } // vertexBuffer - COLORS @@ -511,8 +504,7 @@ namespace wiSceneSystem SubresourceData InitData; InitData.pSysMem = vertex_colors.data(); vertexBuffer_COL.reset(new GPUBuffer); - hr = device->CreateBuffer(&bd, &InitData, vertexBuffer_COL.get()); - assert(SUCCEEDED(hr)); + device->CreateBuffer(&bd, &InitData, vertexBuffer_COL.get()); } // vertexBuffer - ATLAS @@ -536,8 +528,7 @@ namespace wiSceneSystem SubresourceData InitData; InitData.pSysMem = vertices.data(); vertexBuffer_ATL.reset(new GPUBuffer); - hr = device->CreateBuffer(&bd, &InitData, vertexBuffer_ATL.get()); - assert(SUCCEEDED(hr)); + device->CreateBuffer(&bd, &InitData, vertexBuffer_ATL.get()); } // vertexBuffer_PRE will be created on demand later! @@ -877,7 +868,6 @@ namespace wiSceneSystem } GraphicsDevice* device = wiRenderer::GetDevice(); - HRESULT hr; TextureDesc desc = lightmap->GetDesc(); uint32_t data_count = desc.Width * desc.Height; @@ -896,8 +886,7 @@ namespace wiSceneSystem staging_desc.MiscFlags = 0; Texture stagingTex; - hr = device->CreateTexture(&staging_desc, nullptr, &stagingTex); - assert(SUCCEEDED(hr)); + device->CreateTexture(&staging_desc, nullptr, &stagingTex); bool download_success = device->DownloadResource(lightmap.get(), &stagingTex, lightmapTextureData.data()); assert(download_success); diff --git a/WickedEngine/wiTextureHelper.cpp b/WickedEngine/wiTextureHelper.cpp index a8797c704..adfe2ba88 100644 --- a/WickedEngine/wiTextureHelper.cpp +++ b/WickedEngine/wiTextureHelper.cpp @@ -37,8 +37,7 @@ namespace wiTextureHelper data[i + 3] = 255; } - HRESULT hr = CreateTexture(helperTextures[HELPERTEXTURE_RANDOM64X64], data, 64, 64); - assert(SUCCEEDED(hr)); + CreateTexture(helperTextures[HELPERTEXTURE_RANDOM64X64], data, 64, 64); wiRenderer::GetDevice()->SetName(&helperTextures[HELPERTEXTURE_RANDOM64X64], "HELPERTEXTURE_RANDOM64X64"); } @@ -64,8 +63,7 @@ namespace wiTextureHelper } } - HRESULT hr = CreateTexture(helperTextures[HELPERTEXTURE_COLORGRADEDEFAULT], data, 256, 16); - assert(SUCCEEDED(hr)); + CreateTexture(helperTextures[HELPERTEXTURE_COLORGRADEDEFAULT], data, 256, 16); wiRenderer::GetDevice()->SetName(&helperTextures[HELPERTEXTURE_COLORGRADEDEFAULT], "HELPERTEXTURE_COLORGRADEDEFAULT"); } @@ -113,8 +111,7 @@ namespace wiTextureHelper pData[cubeMapFaceIndex].SysMemSlicePitch = 0; } - HRESULT hr = wiRenderer::GetDevice()->CreateTexture(&texDesc, &pData[0], &helperTextures[HELPERTEXTURE_BLACKCUBEMAP]); - assert(SUCCEEDED(hr)); + wiRenderer::GetDevice()->CreateTexture(&texDesc, &pData[0], &helperTextures[HELPERTEXTURE_BLACKCUBEMAP]); wiRenderer::GetDevice()->SetName(&helperTextures[HELPERTEXTURE_BLACKCUBEMAP], "HELPERTEXTURE_BLACKCUBEMAP"); } @@ -180,7 +177,7 @@ namespace wiTextureHelper } Texture* texture = new Texture; - if (FAILED(CreateTexture(*texture, data, dim, dim))) + if (CreateTexture(*texture, data, dim, dim) == false) { delete texture; return nullptr; @@ -195,11 +192,11 @@ namespace wiTextureHelper } - HRESULT CreateTexture(wiGraphics::Texture& texture, const uint8_t* data, uint32_t width, uint32_t height, FORMAT format) + bool CreateTexture(wiGraphics::Texture& texture, const uint8_t* data, uint32_t width, uint32_t height, FORMAT format) { if (data == nullptr) { - return E_FAIL; + return false; } GraphicsDevice* device = wiRenderer::GetDevice(); @@ -219,10 +216,7 @@ namespace wiTextureHelper InitData.pSysMem = data; InitData.SysMemPitch = width * device->GetFormatStride(format); - HRESULT hr; - hr = device->CreateTexture(&textureDesc, &InitData, &texture); - - return hr; + return device->CreateTexture(&textureDesc, &InitData, &texture); } } diff --git a/WickedEngine/wiTextureHelper.h b/WickedEngine/wiTextureHelper.h index 716bd380e..2b9a03036 100644 --- a/WickedEngine/wiTextureHelper.h +++ b/WickedEngine/wiTextureHelper.h @@ -17,6 +17,6 @@ namespace wiTextureHelper const wiGraphics::Texture* getTransparent(); const wiGraphics::Texture* getColor(wiColor color); - HRESULT CreateTexture(wiGraphics::Texture& texture, const uint8_t* data, uint32_t width, uint32_t height, wiGraphics::FORMAT format = wiGraphics::FORMAT_R8G8B8A8_UNORM); + bool CreateTexture(wiGraphics::Texture& texture, const uint8_t* data, uint32_t width, uint32_t height, wiGraphics::FORMAT format = wiGraphics::FORMAT_R8G8B8A8_UNORM); }; diff --git a/WickedEngine/wiVersion.cpp b/WickedEngine/wiVersion.cpp index 9da0ade3c..313391c5f 100644 --- a/WickedEngine/wiVersion.cpp +++ b/WickedEngine/wiVersion.cpp @@ -7,9 +7,9 @@ namespace wiVersion // main engine core const int major = 0; // minor features, major updates - const int minor = 33; + const int minor = 34; // minor bug fixes, alterations, refactors, updates - const int revision = 3; + const int revision = 0; long GetVersion() diff --git a/WickedEngine/wiWidget.cpp b/WickedEngine/wiWidget.cpp index 0341717c5..1bfec530c 100644 --- a/WickedEngine/wiWidget.cpp +++ b/WickedEngine/wiWidget.cpp @@ -242,8 +242,7 @@ void wiWidget::LoadShaders() desc.bs = wiRenderer::GetBlendState(BSTYPE_TRANSPARENT); desc.rs = wiRenderer::GetRasterizerState(RSTYPE_DOUBLESIDED); desc.pt = TRIANGLESTRIP; - HRESULT hr = wiRenderer::GetDevice()->CreatePipelineState(&desc, &PSO_colorpicker); - assert(SUCCEEDED(hr)); + wiRenderer::GetDevice()->CreatePipelineState(&desc, &PSO_colorpicker); } @@ -1821,7 +1820,6 @@ void wiColorPicker::Render(const wiGUI* gui, CommandList cmd) const { buffersComplete = true; - HRESULT hr = S_OK; // saturation { vertices_saturation.push_back({ XMFLOAT4(0,0,0,0),XMFLOAT4(1,0,0,1) }); // hue @@ -1850,7 +1848,7 @@ void wiColorPicker::Render(const wiGUI* gui, CommandList cmd) const desc.Usage = USAGE_DYNAMIC; SubresourceData data; data.pSysMem = vertices_saturation.data(); - hr = wiRenderer::GetDevice()->CreateBuffer(&desc, &data, &vb_saturation); + wiRenderer::GetDevice()->CreateBuffer(&desc, &data, &vb_saturation); } // hue { @@ -1917,7 +1915,7 @@ void wiColorPicker::Render(const wiGUI* gui, CommandList cmd) const desc.Usage = USAGE_IMMUTABLE; SubresourceData data; data.pSysMem = vertices.data(); - hr = wiRenderer::GetDevice()->CreateBuffer(&desc, &data, &vb_hue); + wiRenderer::GetDevice()->CreateBuffer(&desc, &data, &vb_hue); } // saturation picker (small circle) { @@ -1944,7 +1942,7 @@ void wiColorPicker::Render(const wiGUI* gui, CommandList cmd) const desc.Usage = USAGE_IMMUTABLE; SubresourceData data; data.pSysMem = vertices.data(); - hr = wiRenderer::GetDevice()->CreateBuffer(&desc, &data, &vb_picker_saturation); + wiRenderer::GetDevice()->CreateBuffer(&desc, &data, &vb_picker_saturation); } // hue picker (rectangle) { @@ -1985,7 +1983,7 @@ void wiColorPicker::Render(const wiGUI* gui, CommandList cmd) const desc.Usage = USAGE_IMMUTABLE; SubresourceData data; data.pSysMem = vertices; - hr = wiRenderer::GetDevice()->CreateBuffer(&desc, &data, &vb_picker_hue); + wiRenderer::GetDevice()->CreateBuffer(&desc, &data, &vb_picker_hue); } // preview { @@ -2008,7 +2006,7 @@ void wiColorPicker::Render(const wiGUI* gui, CommandList cmd) const desc.Usage = USAGE_IMMUTABLE; SubresourceData data; data.pSysMem = vertices; - hr = wiRenderer::GetDevice()->CreateBuffer(&desc, &data, &vb_preview); + wiRenderer::GetDevice()->CreateBuffer(&desc, &data, &vb_preview); } }