我一直在尝试在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