我一直在嘗試在SDL_render_d3d.c
中實現Yuv422到RGB像素着色轉換。我無法獲得與此相同的編譯代碼格式,使用const DWORD shader_data[]
這個數組並且工作正常,但它是一個420轉換器,源代碼和彙編程序與源代碼彙編程序所需的命令行一起列出。在SDL2中加載像素着色器失敗
當我使用fxc編譯着色器(.hlsl)時,我得到一個帶有字節碼的頭文件,它以'DXBC'開頭,據我瞭解,它是用來搜索hlsl字節碼的前綴。我也嘗試在運行時從文件進行編譯,這也創建了一個包含相同的緩衝區。
當我嘗試從這個失敗的代碼0x8876086c創建一個PixelShader,
有誰知道如何創建格式化準備使用的格式DWORD?這似乎是向前邁進
工作形式最簡單的方法:
const DWORD shader_data[] = {
0xffff0200, 0x05000051, 0xa00f0000, 0xbd808081, 0xbf008081, 0xbf008081,
....... };
FXC產生不起作用格式:
const BYTE g_YuvToRgb[] =
{
68, 88, 66, 67, 25, 203,
28, 33, 88, 181, 245, 169,
...... };
從更多測試可疑着色器模型可能是問題,管理從文件更簡單(通過直通或紅色像素)着色器編譯。這個錯誤處理很差。在線文檔也不匹配不幫助的頭文件! – datkins