yum-archive/TaSTT-Whisper

High-performance GPGPU inference of OpenAI's Whisper automatic speech recognition (ASR) model

git clone https://git.yummers.dev/yum-archive/TaSTT-Whisper

KonstantinSource codes8c4603c

master
761 B33 linesraw
1#include "stdafx.h"
2#include "MappedResource.h"
3using namespace DirectCompute;
4#define CHECK( hr ) { const HRESULT __hr = ( hr ); if( FAILED( __hr ) ) return __hr; }
5
6MappedResource::MappedResource()
7{
8	mapped.pData = nullptr;
9	mapped.RowPitch = mapped.DepthPitch = 0;
10	resource = nullptr;
11}
12
13HRESULT MappedResource::map( ID3D11Resource* res, bool reading )
14{
15	if( nullptr == resource )
16	{
17		D3D11_MAP mt = reading ? D3D11_MAP_READ : D3D11_MAP_WRITE_DISCARD;
18		CHECK( context()->Map( res, 0, mt, 0, &mapped ) );
19		resource = res;
20		return S_OK;
21	}
22	return HRESULT_FROM_WIN32( ERROR_ALREADY_INITIALIZED );
23}
24
25MappedResource::~MappedResource()
26{
27	if( nullptr != resource )
28	{
29		context()->Unmap( resource, 0 );
30		resource = nullptr;
31		mapped.pData = nullptr;
32	}
33}