谁能告诉我 DDCAPS_BLTFOURCC 到底有什么用?

Sodar 2009-04-17 10:05:32
从MSDN来看如果显卡有这个能力,就能够在RGB surface和YUV surface之间直接交换数据(我错了?),可是测试中发现,即使显卡有这个能力,也无法在两个不同格式的surface之间直接blit。
即使在RGB32 surface和RGB16 surface之间也不能互相blit数据。难道这样的转换只能通过软件实现吗?
...全文
123 3 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
wutaihua 2011-05-30
mark 非常有用
  • 打赏
  • 举报
回复
IONPhantom 2009-04-17
1.BLT, FourCC to RGB conversion" performs Blts from YUV (FOURCC) surfaces to an RGB primary surface. This test is run only if the driver sets the DDCAPS_BLTFOURCC flag.
2."BLT, FourCC to RGB stretch" performs Stretched Blts from YUV (FOURCC) surfaces to an RGB primary surface. This test is run only if the driver sets the DDCAPS_BLTFOURCC and DDCAPS_BLTSTRETCH flags.
3.BLT, FourCC to RGB conversion" performs Blts from YUV (FOURCC) surfaces to an RGB primary surface. This test is run only if the driver sets the DDCAPS_BLTFOURCC flag.
4."BLT, FourCC to RGB stretch" performs Stretched Blts from YUV (FOURCC) surfaces to an RGB primary surface. This test is run only if the driver sets the DDCAPS_BLTFOURCC and DDCAPS_BLTSTRETCH flags.
5."BLT, FourCC to RGB conversion" performs Blts from YUV (FOURCC) surfaces to an RGB primary surface. This test is run only if the driver sets the DDCAPS_BLTFOURCC flag.
6."BLT, FourCC to RGB stretch" performs Stretched Blts from YUV (FOURCC) surfaces to an RGB primary surface. This test is run only if the driver sets the DDCAPS_BLTFOURCC and DDCAPS_BLTSTRETCH flags.
7.BLT, FourCC to RGB conversion" performs Blts from YUV (FOURCC) surfaces to an RGB primary surface. This test is run only if the driver sets the DDCAPS_BLTFOURCC flag.
8.BLT, FourCC to RGB stretch" performs Stretched Blts from YUV (FOURCC) surfaces to an RGB primary surface. This test is run only if the driver sets the DDCAPS_BLTFOURCC and DDCAPS_BLTSTRETCH flags.
9."BLT, FourCC to RGB conversion" performs Blts from YUV (FOURCC) surfaces to an RGB primary surface. This test is run only if the driver sets the DDCAPS_BLTFOURCC flag.
10."BLT, FourCC to RGB stretch" performs Stretched Blts from YUV (FOURCC) surfaces to an RGB primary surface. This test is run only if the driver sets the DDCAPS_BLTFOURCC and DDCAPS_BLTSTRETCH flags.
11."BLT, FourCC to RGB conversion" performs Blts from YUV (FOURCC) surfaces to an RGB primary surface. This test is run only if the driver sets the DDCAPS_BLTFOURCC flag.
12."BLT, FourCC to RGB stretch" performs Stretched Blts from YUV (FOURCC) surfaces to an RGB primary surface. This test is run only if the driver sets the DDCAPS_BLTFOURCC and DDCAPS_BLTSTRETCH flags.
12."BLT, FourCC to RGB stretch" performs Stretched Blts from YUV (FOURCC) surfaces to an RGB primary surface. This test is run only if the driver sets the DDCAPS_BLTFOURCC and DDCAPS_BLTSTRETCH flags.

From MSDN.

从上面可以看出
1. primary surface 必须是 RGB
2. surface 可以是 YUV 但是只能是 Blt 到 primary surface 而没有 get from primary surface 功能

也就是只能是 YUV->RGB,RGB不能转回为YUV,是一个单向的,而且primary surface必须为RGB,也就是无法从primary surface读会YUV的数据


  • 打赏
  • 举报
回复
Sodar 2009-04-17
这段话我之前也看到过,不过看的不够仔细,没理解什么意思。误事啊

  • 打赏
  • 举报
回复
相关推荐
发帖
游戏开发
加入

8138

社区成员

游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
申请成为版主
帖子事件
创建了帖子
2009-04-17 10:05
社区公告
暂无公告