Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "DxTest.h"
- #include <QDebug>
- #include <SharedOpenGLContext/SharedOpenGLContext.h>
- #include <d3d11.h>
- static ID3D11Texture2D* createTexture(ID3D11Device* device)
- {
- D3D11_TEXTURE2D_DESC desc = {};
- desc.Width = 256;
- desc.Height = 256;
- desc.MipLevels = 1;
- desc.ArraySize = 1;
- desc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;
- desc.SampleDesc.Count = 1;
- desc.Usage = D3D11_USAGE_DEFAULT;
- desc.MiscFlags = D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX;
- desc.BindFlags = D3D11_BIND_RENDER_TARGET | D3D11_BIND_SHADER_RESOURCE;
- ID3D11Texture2D* texture = 0;
- device->CreateTexture2D(&desc, 0, &texture);
- return texture;
- }
- DxTest::DxTest()
- {
- ID3D11Device* device = SharedOpenGLContext::getDxDevice();
- qDebug() << "device" << device;
- ID3D11Texture2D* texture = createTexture(device);
- qDebug() << "texture" << texture;
- IDXGIResource* resource = 0;
- texture->QueryInterface(__uuidof(IDXGIResource), (void**)&resource);
- HANDLE sharedHandle = 0;
- resource->GetSharedHandle(&sharedHandle);
- qDebug() << "sharedHandle" << sharedHandle;
- IDXGIKeyedMutex* mutex = 0;
- texture->QueryInterface(__uuidof(IDXGIKeyedMutex), (void**)&mutex);
- qDebug() << "mutex" << mutex;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement