ນີ້ແມ່ນຄໍາສັ່ງ cgc ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
cgc - cg compiler driver
ສະຫຼຸບສັງລວມ
cgc [ຕົວເລືອກ] ໄຟລ໌ ...
ລາຍລະອຽດ
cgc ແມ່ນຕົວສັງລວມ Cg ດ່ຽວທີ່ແປໂຄງການ Cg ຫຼື GLSL ເປັນ OpenGL ຫຼື
ລະຫັດການປະກອບ DirectX shader, ຫຼືລະຫັດພາສາ OpenGL ຫຼື DirectX shading.
OPTIONS
ພື້ນຖານ ທາງເລືອກໃນການ
- ເຂົ້າ ຊື່
ຕັ້ງຄ່າຟັງຊັນເຂົ້າສໍາລັບ shader ເພື່ອລວບລວມ. ຄ່າເລີ່ມຕົ້ນເປັນ "ຕົ້ນຕໍ".
-o ເອກະສານ
ກໍານົດໄຟລ໌ຜົນຜະລິດທີ່ຈະຂຽນ. ຜົນໄດ້ຮັບເລີ່ມຕົ້ນເປັນ "stdout".
-l ເອກະສານ
ກໍານົດໄຟລ໌ລາຍຊື່, ບ່ອນທີ່ຂໍ້ຜິດພາດແລະຂໍ້ຄວາມເຕືອນຖືກຂຽນ. ຄ່າເລີ່ມຕົ້ນເປັນ
"stderr".
-ໂປຣໄຟລ ຊື່
ເລືອກໂປຣໄຟລ໌ເປົ້າຫມາຍ, ລະບຸພາສາ shader ທີ່ຈະສ້າງຂຶ້ນ.
-profileopts ເລືອກ1,ເລືອກ2,...
- ປ ເລືອກ1,ເລືອກ2,...
ຕັ້ງຄ່າໜຶ່ງ ຫຼືຫຼາຍທາງເລືອກສະເພາະໂປຣໄຟລ໌.
- ຫວ່າງ
ຕັ້ງໃຫ້ກວດເບິ່ງພຽງແຕ່ໂຫມດ, ບ່ອນທີ່ບໍ່ມີ shader ຖືກລວບລວມ, ແຕ່ລະຫັດທັງຫມົດໃນໄຟລ໌ປ້ອນຂໍ້ມູນ
ຖືກກວດສອບຄວາມຖືກຕ້ອງຂອງ syntactic.
ພາສາ ທາງເລືອກໃນການ
-oglsl
ຕັ້ງພາສາຕົ້ນສະບັບເປັນ GLSL.
-ogles
ຕັ້ງພາສາຕົ້ນສະບັບເປັນ OpneGL/ES GLSL.
- ເຂັ້ມງວດ
- nostrict
ເປີດໃຊ້ ຫຼືປິດການກວດກາການພິມຢ່າງເຂັ້ມງວດ, ບ່ອນທີ່ມີໂຄງສ້າງທີ່ໜ້າສົງໄສຫຼາຍທີ່ສຸດ
ໝາຍເປັນຄຳເຕືອນ.
-glslWrror
ເຊັ່ນດຽວກັນກັບ "-strict" ແຕ່ນອກຈາກນັ້ນ, unportable GLSL ການກໍ່ສ້າງຈະຖືກທຸງເປັນຄວາມຜິດພາດ.
-nowarn
ປິດການເຕືອນໄພທັງໝົດ.
-nowarn=N,N,...
ປິດໃຊ້ງານການເຕືອນໄພຈໍານວນຫນຶ່ງຫຼືຫຼາຍກວ່າ.
-fx
-nofx
ເປີດໃຊ້ຫຼືປິດການໃຊ້ງານ FX parsing mode, ບ່ອນທີ່ FX keywords ຖືກຮັບຮູ້. ຄ່າເລີ່ມຕົ້ນເປັນເປີດ
ໃນໂຫມດ Cg ແລະປິດໃນໂຫມດ GLSL.
-nostdlib
ປິດການໃຊ້ງານຫ້ອງສະໝຸດມາດຕະຖານ.
ລະຫັດ ການຜະລິດ ທາງເລືອກໃນການ
- ໄວຄະນິດສາດ
-nofastmath
ເປີດໃຊ້ຫຼືປິດການເພີ່ມປະສິດທິພາບທີ່ອາດຈະດໍາເນີນການ / ສູນເສຍຄວາມແມ່ນຍໍາໃນຄໍາສັ່ງຕ່ໍາ, ເຊັ່ນ
assocative transforms ຄື "(a + b) + c" ແທນ "a + (b + c)". ຄ່າເລີ່ມຕົ້ນແມ່ນ
"-fastmath".
- ຄວາມຊັດເຈນໄວ
- nofastprecision
ເປີດຫຼືປິດການເພີ່ມປະສິດທິພາບການດໍາເນີນການທີ່ຄວາມແມ່ນຍໍາຕ່ໍາກວ່າທີ່ກໍານົດໄວ້
ເມື່ອຜົນໄດ້ຮັບຖືກປ່ຽນຕໍ່ມາເປັນຄວາມແມ່ນຍໍາຕ່ໍາຫຼື operands ໄດ້
ເດີມຢູ່ໃນຄວາມແມ່ນຍໍາຕ່ໍາ. ຄ່າເລີ່ມຕົ້ນແມ່ນ "-nofastprecision".
- ຄວາມຖືກຕ້ອງທີ່ດີທີ່ສຸດ
ສະເຫມີເຮັດສິ່ງທີ່ຢູ່ໃນຄວາມແມ່ນຍໍາທີ່ດີທີ່ສຸດທີ່ເປັນໄປໄດ້; ໃຊ້ພຽງແຕ່ການປະຕິບັດຄວາມແມ່ນຍໍາຕ່ໍາ
ຖ້າບໍ່ມີຄວາມເປັນໄປໄດ້ຂອງຄວາມແຕກຕ່າງ. ຫມາຍຄວາມວ່າ "-nofastmath" ແລະ
"-nofastprecision".
-unroll all|none|count=N
ຄວບຄຸມການມ້ວນຮອບ. "-unroll all" ຈະບັງຄັບໃຫ້ unrolling ຂອງ loops ທັງຫມົດທີ່ສາມາດເປັນ
unrolled, ໃນຂະນະທີ່ "-unroll none" ຈະປ້ອງກັນບໍ່ໃຫ້ unrolling ຍົກເວັ້ນຖ້າຫາກວ່າລະຫັດບໍ່ສາມາດຖ້າບໍ່ດັ່ງນັ້ນ
ຈະຖືກສ້າງຂື້ນໃນໂປຣໄຟລ໌ປັດຈຸບັນ (ສະນັ້ນມັນຈະບໍ່ມີຜົນໃນໂປຣໄຟລ໌ທີ່ບໍ່ໄດ້ເຮັດ
ສະຫນັບສະຫນູນ looping). "ຍົກເລີກການນັບ=N " ຈະ unroll loops ຖ້າຫາກວ່າການຄາດຄະເນຂອງ
ລະຫັດຜົນໄດ້ຮັບແມ່ນຫນ້ອຍກວ່າ N ຄໍາແນະນໍາ. ການຄາດຄະເນບໍ່ໄດ້ຄໍານຶງເຖິງ
ການເພີ່ມປະສິດທິພາບເພີ່ມເຕີມທີ່ອາດຈະເຮັດໄດ້ຫຼັງຈາກ unrolling, ດັ່ງນັ້ນມັນອາດຈະຂ້ອນຂ້າງ
ບໍ່ຖືກຕ້ອງ.
-inline all|none|count=N
ການຄວບຄຸມ inlining function. ການຕັ້ງຄ່າ "-inline none" ນອກຈາກນັ້ນຈະປິດການໃຊ້ງານ inlining
ຂອງຫນ້າທີ່ທີ່ມີຄໍາສໍາຄັນ "inline" ຢ່າງຊັດເຈນ, ເຊິ່ງຖ້າບໍ່ດັ່ງນັ້ນສະເຫມີ inlined.
ການຕັ້ງຄ່າ "-inline count=0" ຈະປິດການໃຊ້ງານ inlining ຂອງຟັງຊັນທັງໝົດທີ່ເຮັດໄດ້ຢ່າງມີປະສິດທິພາບ
ບໍ່ມີຄໍາສໍາຄັນ "inline" ຢ່າງຊັດເຈນ.
-ifcvt ທັງໝົດ|none|count=N
ການຄວບຄຸມຖ້າຫາກວ່າການປ່ຽນແປງ (ການທົດແທນຂອງຂະຫນາດນ້ອຍ if/else blocks ທີ່ມີເງື່ອນໄຂ
ວຽກງານ).
-ON ກໍານົດລະດັບການເພີ່ມປະສິດທິພາບຂອງ compiler, ຈາກ 0 (ຕ່ໍາສຸດ) ຫາ 3 (ສູງສຸດ). ສູງກວ່າ
ຄ່າອາດຈະຜະລິດລະຫັດທີ່ດີກວ່າແລະຈະເຮັດໃຫ້ເວລາລວບລວມເພີ່ມຂຶ້ນ. ຄ່າເລີ່ມຕົ້ນແມ່ນ
"-O1".
- ຂອບເຂດຈໍາກັດ N
ສົມມຸດວ່າ loops ທີ່ compiler ບໍ່ສາມາດກໍານົດຂອບເຂດເທິງກ່ຽວກັບຈໍານວນຂອງ
iterations ອາດຈະ loop ເປັນຈໍານວນຫຼາຍ N ຊ້ຳ. ອັນນີ້ອາດຈະຕ້ອງສ້າງລະຫັດເພີ່ມເຕີມ
ສໍາລັບ loops ດັ່ງກ່າວໃນບາງໂປຣໄຟລ໌.
-d3d
ສ້າງລະຫັດທີ່ເຫມາະສົມກັບຂໍ້ກໍາຫນົດ Direct3D.
-MaxInstInBasicBlock N
ທໍາລາຍຕັນພື້ນຖານຫຼັງຈາກ N ຄໍາແນະນໍາ. ນີ້ມີຜົນກະທົບກ່ຽວກັບການເພີ່ມປະສິດທິພາບໃນທ້ອງຖິ່ນ
ທີ່ບໍ່ຂ້າມຂອບເຂດຕັນພື້ນຖານແລະອາດຈະຫຼີກເວັ້ນການລວບລວມເວລາທີ່ບໍ່ດີຢູ່ໃນ
ການປະກົດຕົວຂອງທ່ອນໄມ້ພື້ນຖານອັນໃຫຍ່ຫຼວງເນື່ອງຈາກ algorithms ທີ່ບໍ່ແມ່ນເສັ້ນຢູ່ໃນບລັອກພື້ນຖານ
ຂະຫນາດ.
- ຈໍານວນສູງສຸດ N
ເຊົາສະໜັບສະໜູນ. ຢ່າຖອດ loops ທີ່ມີຫຼາຍກ່ວາ N ຊ້ຳ. ໃຊ້ຕົວເລືອກ -unroll
ແທນທີ່ຈະ, ເຊິ່ງສະຫນອງການຄວບຄຸມທີ່ດີກວ່າ.
ໂປເຈັກເຕີ້ ທາງເລືອກໃນການ
-Dມາໂຄຣ[=ມູນຄ່າ]
ຕັ້ງ macro preprocessor. ຖ້າ ມູນຄ່າ ບໍ່ໄດ້ລະບຸໄວ້ມັນເລີ່ມຕົ້ນທີ່ 1.
-Iລະບົບ
ເພີ່ມໄດເລກະທໍລີໃນຕອນທ້າຍຂອງເສັ້ນທາງຄົ້ນຫາສໍາລັບໄຟລ໌ "#include". ຄ່າເລີ່ມຕົ້ນ
ເສັ້ນທາງຄົ້ນຫາຫວ່າງເປົ່າ.
-E ຢ່າລວບລວມ, ພຽງແຕ່ prepocess ການປ້ອນຂໍ້ມູນ.
-P ດ້ວຍ "-E", ສະກັດກັ້ນການສ້າງຄໍາສັ່ງ "#line" ໃນຜົນຜະລິດ.
-C ດ້ວຍ "-E", ຮັກສາຄໍາເຫັນໃນຜົນໄດ້ຮັບ.
-MG ບໍ່ສົນໃຈໄຟລ໌ "#include" ທີ່ບໍ່ພົບ, ແທນທີ່ຈະອອກຂໍ້ຜິດພາດ.
-M
ເອັມ
-MD
-MMD
-MP
-MF ເອກະສານ
-MT ເປົ້າຫມາຍ
-MQ ເປົ້າຫມາຍ
ສ້າງຂໍ້ມູນການເພິ່ງພາອາໄສກ່ຽວກັບໄຟລ໌ "#include"d. ທາງເລືອກເຫຼົ່ານີ້ແມ່ນມີຈຸດປະສົງ
ເພື່ອໃຫ້ເຂົ້າກັນໄດ້ກັບທາງເລືອກໃນການ "gcc".
Miscellaneous ທາງເລືອກໃນການ
- ງຽບ
-q ສະກັດກັ້ນການສົ່ງອອກ 'ສິ່ງລົບກວນ' ທັງໝົດ (ແຈ້ງການລິຂະສິດ, ການຊີ້ບອກວ່າໄຟລ໌ໃດກຳລັງຖືກ
ລວບລວມ, ແລະອື່ນໆ). ດ້ວຍ -o ແລະ -l, ຄວນສົ່ງຜົນໃຫ້ບໍ່ມີຜົນຜະລິດ.
-nocode
ສະກັດກັ້ນການສ້າງລະຫັດສຸດທ້າຍ. ຕົວຈິງແລ້ວຈະດໍາເນີນການທັງຫມົດໂດຍຜ່ານ compiler ໄດ້
(ສະນັ້ນຄວາມຜິດພາດໃດໆທີ່ມີຢູ່ຄວນຈະໄດ້ຮັບການວິນິດໄສ), ແຕ່ບໍ່ໄດ້ຜະລິດລະຫັດຜົນຜະລິດຕົວຈິງໃດຫນຶ່ງ.
-v
- ການປ່ຽນແປງ
ພິມຂໍ້ມູນສະບັບ compiler ໃສ່ລາຍການ.
-h ພິມທາງເລືອກສັ້ນຊ່ວຍສະຫຼຸບເພື່ອ stdout ແລະອອກ.
-ຊ່ວຍ
ພິມທາງເລືອກທີ່ຍາວກວ່າຊ່ວຍສະຫຼຸບເພື່ອ stdout, ລວມທັງທຸກໂປຣໄຟລ໌ທີ່ສະຫນັບສະຫນູນແລະ
ຕົວເລືອກໂປຣໄຟລ໌, ແລະອອກ.
-ປະເພດ type_definition
ກໍານົດການຜູກມັດປະເພດ override ສໍາລັບຕົວແປ.
-typefile ເອກະສານ
ອ່ານການຜູກມັດປະເພດ override ສໍາລັບຕົວແປຈາກໄຟລ໌.
- dumpinputbind ເອກະສານ
ການຜູກມັດປະເພດ Dump ສໍາລັບຕົວແປທັງໝົດກັບໄຟລ໌. ໄຟລ໌ນີ້ອາດຈະຖືກສົ່ງກັບຄືນໄປຫາ
compiler ກັບ "-typefile".
Debugging ທາງເລືອກໃນການ
-ແມງໄມ້
ເປີດໃຊ້ຟັງຊັນ builtin "debug" ເພື່ອຍົກເລີກການເຮັດວຽກຂອງ shader ແລະທັນທີ
ຜົນຜະລິດມູນຄ່າ.
- debuglast
ເຊັ່ນດຽວກັນກັບ "-debug", ຍົກເວັ້ນ shader ບໍ່ໄດ້ຍົກເລີກ; ແທນທີ່ຈະມັນສືບຕໍ່ແລະຜົນໄດ້ຮັບ
ຄ່າຂອງຟັງຊັນ "debug" ສຸດທ້າຍເອີ້ນວ່າ.
-debugdefault=ມູນຄ່າ
ເຊັ່ນດຽວກັບ "-debug", ຍົກເວັ້ນຖ້າຫາກວ່າບໍ່ມີການໂທ "debug", ຜົນຜະລິດຈະຖືກກໍານົດເປັນ
ຄ່າທີ່ລະບຸແທນທີ່ຈະເປັນສິ່ງທີ່ shader ປົກກະຕິຄິດໄລ່.
- ເຊົາໃຊ້ແລ້ວ
ມີບັນຫາແທນທີ່ຈະເປັນການເຕືອນໄພສໍາລັບຄຸນສົມບັດທີ່ຖືກຍົກເລີກການນໍາໃຊ້.
PROFILES
A ຂໍ້ມູນ ກໍານົດພາສາຜົນຜະລິດຂອງ cg compiler (ບໍ່ວ່າຈະເປັນການປະກອບ shader
ພາສາພາສາ, ຫຼືພາສາໃຫ້ຮົ່ມ). ແຕ່ລະໂປຣໄຟລ໌ມີຊຸດຂອງຕົນເອງ ຂໍ້ມູນ ທາງເລືອກໃນການ ທີ່ສາມາດເຮັດໄດ້
ໄດ້ຖືກຕັ້ງໄວ້ສໍາລັບມັນ, ເຖິງແມ່ນວ່າຫຼາຍໂປຣໄຟລ໌ທີ່ກ່ຽວຂ້ອງມີທາງເລືອກທີ່ຄ້າຍຄືກັນຫຼືຄືກັນ. ໂປຣໄຟລ໌
ສາມາດຈັດກຸ່ມຕາມປະເພດໂປຣແກຣມ, API, ຫຼືການສ້າງ GPU.
ໂປຣໄຟລ໌ DirectX
ds_5_0, gs_4_0, gs_5_0, hlslf, hlslv, hs_5_0, ps_1_1, ps_1_2, ps_1_3, ps_2_0, ps_2_x,
ps_3_0, ps_4_0, ps_5_0, vs_1_1, vs_2_0, vs_2_x, vs_3_0, vs_4_0, vs_5_0
ໂປຣໄຟລ໌ OpenGL
arbfp1, arbvp1, fp20, fp30, "fp30unlimited", fp40, "fp40unlimited", glslf, glslg,
glslv, gp4fp, gp4gp, gp4vp, gp5fp, gp5gp, gp5tcp, gp5tep, gp5vp, vp20, vp30, vp40
ໂປຣໄຟລ Fragment
arbfp1, fp20, fp30, "fp30unlimited", fp40, "fp40unlimited", glslf, gp4fp, gp5fp,
hlslf, ps_1_1, ps_1_2, ps_1_3, ps_2_0, ps_2_x, ps_3_0, ps_4_0, ps_5_0
ໂປຣໄຟລ໌ເລຂາຄະນິດ
glslg, gp4gp, gp5gp, gs_4_0, gs_5_0
ໂປຣໄຟລ໌ Vertex
arbvp1, glslv, gp4vp, gp5vp, hlslv, vp20, vp30, vp40, vs_1_1, vs_2_0, vs_2_x, vs_3_0,
vs_4_0, vs_5_0
ໂປຣໄຟລ໌ GeForce 3/4 Series
fp20, vp20
ໂປຣໄຟລ໌ GeForce 5 Series
fp30, vp30
ໂປຣໄຟລ໌ GeForce 6/7 Series
fp40, vp40
GeForce 8/9/100/200/300 Series, OpenGL 3.x ໂປຣໄຟລ໌ Quadro
gp4fp, gp4gp, gp4vp
GeForce 400 Series, ໂປຣໄຟລ໌ OpenGL 4.x Quadro
gp5fp, gp5gp, gp5tcp, gp5tep, gp5vp
ປະຫວັດຫຍໍ້ ທາງເລືອກໃນການ
ນີ້ແມ່ນບັນຊີລາຍຊື່ຄົບຖ້ວນຂອງໂປຣໄຟລ໌ທັງໝົດ ແລະຕົວເລືອກໂປຣໄຟລ໌ທີ່ສອດຄ້ອງກັນຂອງພວກມັນ
arbfp1
ເປົ້າຫມາຍ ARB_fragment_program ສ່ວນຂະຫຍາຍ OpenGL
"-po" "ARB_draw_buffers"
ການນໍາໃຊ້ ARB_draw_buffers ທາງເລືອກສໍາລັບເປົ້າຫມາຍ renderbuffer ຫຼາຍ (MRT). ນີ້ແມ່ນ
ໃນຕອນຕົ້ນ
"-po" "ATI_draw_buffers"
ການນໍາໃຊ້ ATI_draw_buffers ທາງເລືອກສໍາລັບເປົ້າຫມາຍ renderbuffer ຫຼາຍ (MRT).
"-po" "MaxDrawBuffers="N
ກໍານົດຈໍານວນສູງສຸດຂອງເປົ້າຫມາຍ renderbuffer. ຄ່າເລີ່ມຕົ້ນແມ່ນ 1
"-po" "MaxLocalParams="N
ກໍານົດຈໍານວນສູງສຸດຂອງຊ່ອງພາລາມິເຕີເອກະພາບທີ່ມີຢູ່. ຄ່າເລີ່ມຕົ້ນແມ່ນ 32
"-po" "MaxTexIndirections="N
ກໍານົດຈໍານວນສູງສຸດຂອງໂຄງສ້າງ indirections ອະນຸຍາດໃຫ້ຢູ່ໃນໂຄງການຜົນຜະລິດ.
ຄ່າເລີ່ມຕົ້ນແມ່ນ 1024
"-po" "NumInstructionSlots="N
ກໍານົດຈໍານວນຄໍາແນະນໍາສູງສຸດໃນໂຄງການຜົນຜະລິດ. ຄ່າເລີ່ມຕົ້ນແມ່ນ 1024
"-po" "NumMathInstructionSlots="N
ກໍານົດຈໍານວນສູງສຸດຂອງຄໍາແນະນໍາທີ່ບໍ່ແມ່ນໂຄງສ້າງໃນໂຄງການຜົນຜະລິດ.
ຄ່າເລີ່ມຕົ້ນແມ່ນ 1024
"-po" "NumTemps="N
ກໍານົດຈໍານວນສູງສຸດຂອງການລົງທະບຽນ TEMP ໃນໂຄງການຜົນຜະລິດ. ຄ່າເລີ່ມຕົ້ນແມ່ນ 32
"-po" "NumTexInstructionSlots="N
ກໍານົດຈໍານວນຄໍາແນະນໍາໂຄງສ້າງສູງສຸດໃນໂຄງການຜົນຜະລິດ. ຄ່າເລີ່ມຕົ້ນແມ່ນ
1024
arbvp1
ເປົ້າຫມາຍ ARB_vertex_ໂຄງການ ສ່ວນຂະຫຍາຍ OpenGL
"-po" "MaxAddressRegs="N
ກໍານົດຈໍານວນສູງສຸດຂອງການລົງທະບຽນ ADDRESS ໃນໂຄງການຜົນຜະລິດ. ຄ່າເລີ່ມຕົ້ນແມ່ນ 1
"-po" "MaxInstructions="N
ກໍານົດຈໍານວນຄໍາແນະນໍາສູງສຸດໃນໂຄງການຜົນຜະລິດ. ຄ່າເລີ່ມຕົ້ນແມ່ນ 1024
"-po" "MaxLocalParams="N
ກໍານົດຈໍານວນສູງສຸດຂອງຊ່ອງພາລາມິເຕີເອກະພາບທີ່ມີຢູ່. ຄ່າເລີ່ມຕົ້ນແມ່ນ 96
"-po" "NumTemps="N
ກໍານົດຈໍານວນສູງສຸດຂອງການລົງທະບຽນ TEMP ໃນໂຄງການຜົນຜະລິດ. ຄ່າເລີ່ມຕົ້ນແມ່ນ 32
"-po" "PosInv"
ສ້າງລະຫັດ invariant ຕໍາແໜ່ງ (ຄືກັນກັບການທໍາງານຄົງທີ່) ສໍາລັບຜົນໄດ້ຮັບ POSITION
fp20
ເປົ້າຫມາຍ NV_register_combiners2 ແລະ NV_texture_shader ສ່ວນຂະຫຍາຍ OpenGL
fp30
ເປົ້າຫມາຍ NV_fragment_program ສ່ວນຂະຫຍາຍ OpenGL
"-po" "NumInstructionSlots="N
ກໍານົດຈໍານວນຄໍາແນະນໍາສູງສຸດໃນໂຄງການຜົນຜະລິດ. ຄ່າເລີ່ມຕົ້ນແມ່ນ 256
"-po" "NumTemps="N
ກໍານົດຈໍານວນສູງສຸດຂອງຊົ່ວຄາວໃນໂຄງການຜົນຜະລິດ. ຄ່າເລີ່ມຕົ້ນແມ່ນ 32
"fp30 ບໍ່ຈໍາກັດ"
ຄືກັນກັບ fp30 ທີ່ມີການຈຳກັດຮາດແວຕ່າງໆກ່ຽວກັບການລົງທະບຽນ ແລະຄຳແນະນຳຖືກຍົກອອກ
"-po" "NumInstructionSlots="N
ກໍານົດຈໍານວນຄໍາແນະນໍາສູງສຸດໃນໂຄງການຜົນຜະລິດ. ຄ່າເລີ່ມຕົ້ນແມ່ນ 4194304
"-po" "NumTemps="N
ກໍານົດຈໍານວນສູງສຸດຂອງຊົ່ວຄາວໃນໂຄງການຜົນຜະລິດ. ຄ່າເລີ່ມຕົ້ນແມ່ນ 512
fp40
ເປົ້າຫມາຍ NV_fragment_program2 ສ່ວນຂະຫຍາຍ OpenGL
"-po" "appleKilWAR"
ເຮັດວຽກກ່ຽວກັບແມງໄມ້ຕ່າງໆດ້ວຍຄໍາແນະນໍາ KIL ໃນການປະຕິບັດ OSX-tiger ຂອງ
NV_fragment_program2
"-po" "ARB_draw_buffers"
ການນໍາໃຊ້ ARB_draw_buffers ທາງເລືອກສໍາລັບເປົ້າຫມາຍ renderbuffer ຫຼາຍ (MRT). ນີ້ແມ່ນ
ໃນຕອນຕົ້ນ
"-po" "ATI_draw_buffers"
ການນໍາໃຊ້ ATI_draw_buffers ທາງເລືອກສໍາລັບເປົ້າຫມາຍ renderbuffer ຫຼາຍ (MRT).
"-po" "MaxLocalParams="N
ກໍານົດຈໍານວນສູງສຸດຂອງຊ່ອງພາລາມິເຕີເອກະພາບທີ່ມີຢູ່. ຄ່າເລີ່ມຕົ້ນແມ່ນບໍ່ມີຂອບເຂດ
"-po" "NumInstructionSlots="N
ກໍານົດຈໍານວນຄໍາແນະນໍາສູງສຸດໃນໂຄງການຜົນຜະລິດ. ຄ່າເລີ່ມຕົ້ນແມ່ນ
infinite
"-po" "NumTemps="N
ກໍານົດຈໍານວນສູງສຸດຂອງການລົງທະບຽນ TEMP ໃນໂຄງການຜົນຜະລິດ. ຄ່າເລີ່ມຕົ້ນແມ່ນ
infinite
"-po" "OutColorPrec="N
If N ແມ່ນ 3 ຫຼື 4, ບັງຄັບໃຫ້ຜົນຜະລິດເປັນ fp16 ຄວາມແມ່ນຍໍາ. ຖ້າ N ແມ່ນ 2, ບັງຄັບໃຫ້ຜົນຜະລິດເປັນ fp32
ຄວາມແມ່ນຍໍາ.
"fp40 ບໍ່ຈໍາກັດ"
ຄືກັນກັບ fp40 ທີ່ມີການຈຳກັດຮາດແວຕ່າງໆກ່ຽວກັບການລົງທະບຽນ ແລະຄຳແນະນຳຖືກຍົກອອກ
"-po" "appleKilWAR"
ເຮັດວຽກກ່ຽວກັບແມງໄມ້ຕ່າງໆດ້ວຍຄໍາແນະນໍາ KIL ໃນການປະຕິບັດ OSX-tiger ຂອງ
NV_fragment_program2
"-po" "ARB_draw_buffers"
ການນໍາໃຊ້ ARB_draw_buffers ທາງເລືອກສໍາລັບເປົ້າຫມາຍ renderbuffer ຫຼາຍ (MRT). ນີ້ແມ່ນ
ໃນຕອນຕົ້ນ
"-po" "ATI_draw_buffers"
ການນໍາໃຊ້ ATI_draw_buffers ທາງເລືອກສໍາລັບເປົ້າຫມາຍ renderbuffer ຫຼາຍ (MRT).
"-po" "MaxLocalParams="N
ກໍານົດຈໍານວນສູງສຸດຂອງຊ່ອງພາລາມິເຕີເອກະພາບທີ່ມີຢູ່. ຄ່າເລີ່ມຕົ້ນແມ່ນ 1024
"-po" "NumInstructionSlots="N
ກໍານົດຈໍານວນຄໍາແນະນໍາສູງສຸດໃນໂຄງການຜົນຜະລິດ. ຄ່າເລີ່ມຕົ້ນແມ່ນ 4194304
"-po" "NumTemps="N
ກໍານົດຈໍານວນສູງສຸດຂອງການລົງທະບຽນ TEMP ໃນໂຄງການຜົນຜະລິດ. ຄ່າເລີ່ມຕົ້ນແມ່ນ 512
"-po" "OutColorPrec="N
If N ແມ່ນ 3 ຫຼື 4, ບັງຄັບໃຫ້ຜົນຜະລິດເປັນ fp16 ຄວາມແມ່ນຍໍາ. ຖ້າ N ແມ່ນ 2, ບັງຄັບໃຫ້ຜົນຜະລິດເປັນ fp32
ຄວາມແມ່ນຍໍາ.
"ທົ່ວໄປ"
ຜະລິດ dump ຂອງໂຄງການໃນຮູບແບບທີ່ບໍ່ສາມາດປະຕິບັດໄດ້
glslf, glslg ແລະ glslv
ກຳນົດເປົ້າໝາຍ OpenGL Shading language (GLSL) v1.10. glslf ເປົ້າຫມາຍໂຄງການ fragment
ໃນຂະນະທີ່ glslv ເປົ້າຫມາຍໂຄງການ vertex
ຮຸ່ນ =h
ລຸ້ນ GLSL ເພື່ອເປົ້າໝາຍ. ສະບັບສະຫນັບສະຫນູນແມ່ນ 100, 110, 120, 130, 140 ແລະ 150.
userTexCoord
ໃຊ້ການປ່ຽນແປງທີ່ກໍານົດໂດຍຜູ້ໃຊ້ແທນທີ່ຈະເປັນ gl_TexCoord.
ATI_draw_buffers
ການນໍາໃຊ້ ATI_draw_buffers ສ່ວນຂະຫຍາຍສໍາລັບ MRT.
EXT_gpu_shader4
ການນໍາໃຊ້ EXT_gpu_shader4 ສ່ວນຂະຫຍາຍທີ່ເປັນປະໂຫຍດ.
gp4fp
ເປົ້າຫມາຍ NV_gpu_program4 ແລະ NV_fragment_program4 ສ່ວນຂະຫຍາຍ OpenGL.
"-po" "fastimul"
ສົມມຸດວ່າ inputs ຈຳນວນຫຼາຍຄູນມີຢ່າງໜ້ອຍ 24 bits ທີ່ສຳຄັນ.
"-po" "NV_shader_buffer_load"
ການນໍາໃຊ້ NV_shader_buffer_load ສ່ວນຂະຫຍາຍ OpenGL.
"-po" "NV_parameter_buffer_object2"
ການນໍາໃຊ້ NV_parameter_buffer_object2 ສ່ວນຂະຫຍາຍ OpenGL.
"-po" "PaBO2"
ການນໍາໃຊ້ NV_parameter_buffer_object2 ສ່ວນຂະຫຍາຍ OpenGL.
"-po" "ARB_draw_buffers"
ການນໍາໃຊ້ ARB_draw_buffers ທາງເລືອກສໍາລັບເປົ້າຫມາຍ renderbuffer ຫຼາຍ (MRT). ນີ້ແມ່ນ
ໃນຕອນຕົ້ນ
"-po" "ATI_draw_buffers"
ການນໍາໃຊ້ ATI_draw_buffers ທາງເລືອກສໍາລັບເປົ້າຫມາຍ renderbuffer ຫຼາຍ (MRT).
"-po" "pixel_center_integer"
ໃຊ້ສູນ pixels ຕົວເລກເຕັມ.
"-po" "origin_upper_left"
ໃຊ້ຕົ້ນກຳເນີດ pixel ຊ້າຍເທິງ.
gp4gp
ເປົ້າຫມາຍ NV_gpu_program4 ແລະ NV_geometry_program4 ສ່ວນຂະຫຍາຍ OpenGL.
"-po" "ຈຸດ"
"-po" "ສາຍ"
"-po" "LINE_ADJ"
"-po" "ສາມຫລ່ຽມ"
"-po" "TRIANGLE_ADJ"
ກໍານົດປະເພດ input primitive ສໍາລັບໂຄງການເລຂາຄະນິດ
"-po" "POINT_OUT"
"-po" "LINE_OUT"
"-po" "TRIANGLE_OUT"
ກໍານົດປະເພດຜົນຜະລິດເບື້ອງຕົ້ນສໍາລັບໂຄງການເລຂາຄະນິດ
"-po" "Vertices="N
ກໍານົດຈໍານວນຂອງຜົນຜະລິດຕັ້ງໂດຍໂຄງການເລຂາຄະນິດ
gp4vp
ເປົ້າຫມາຍ NV_gpu_program4 ແລະ NV_vertex_program4 ສ່ວນຂະຫຍາຍ OpenGL.
"-po" "PosInv"
ສ້າງລະຫັດ invariant ຕໍາແໜ່ງ (ຄືກັນກັບການທໍາງານຄົງທີ່) ສໍາລັບຜົນໄດ້ຮັບ POSITION
gp5fp
ເປົ້າຫມາຍ NV_gpu_program5 ສ່ວນຂະຫຍາຍ OpenGL.
"-po" "fastimul"
ສົມມຸດວ່າ inputs ຈຳນວນຫຼາຍຄູນມີຢ່າງໜ້ອຍ 24 bits ທີ່ສຳຄັນ.
"-po" "NV_shader_buffer_load"
ການນໍາໃຊ້ NV_shader_buffer_load ສ່ວນຂະຫຍາຍ OpenGL.
"-po" "NV_parameter_buffer_object2"
ການນໍາໃຊ້ NV_parameter_buffer_object2 ສ່ວນຂະຫຍາຍ OpenGL.
"-po" "PaBO2"
ການນໍາໃຊ້ NV_parameter_buffer_object2 ສ່ວນຂະຫຍາຍ OpenGL.
"-po" "ARB_draw_buffers"
ການນໍາໃຊ້ ARB_draw_buffers ທາງເລືອກສໍາລັບເປົ້າຫມາຍ renderbuffer ຫຼາຍ (MRT). ນີ້ແມ່ນ
ໃນຕອນຕົ້ນ
"-po" "ATI_draw_buffers"
ການນໍາໃຊ້ ATI_draw_buffers ທາງເລືອກສໍາລັບເປົ້າຫມາຍ renderbuffer ຫຼາຍ (MRT).
"-po" "pixel_center_integer"
ການນໍາໃຊ້ ARB_fragment_coord_conventions ສ່ວນຂະຫຍາຍ OpenGL ເພື່ອລະບຸຈຳນວນ pixels
ສູນ.
"-po" "origin_upper_left"
ການນໍາໃຊ້ ARB_fragment_coord_conventions ສ່ວນຂະຫຍາຍ OpenGL ເພື່ອລະບຸຊ້າຍເທິງ
ຈຸດກຳເນີດ pixel.
"-po" "NV_early_fragment_tests"
ປະຕິບັດການທົດສອບຄວາມເລິກແລະ stencil ກ່ອນການຮຽກຮ້ອງໂຄງການ fragment.
gp5gp
ເປົ້າຫມາຍ NV_gpu_program5 ສ່ວນຂະຫຍາຍ OpenGL.
"-po" "ຈຸດ"
"-po" "ສາຍ"
"-po" "LINE_ADJ"
"-po" "ສາມຫລ່ຽມ"
"-po" "TRIANGLE_ADJ"
ກໍານົດປະເພດ input primitive ສໍາລັບໂຄງການເລຂາຄະນິດ
"-po" "POINT_OUT"
"-po" "LINE_OUT"
"-po" "TRIANGLE_OUT"
ກໍານົດປະເພດຜົນຜະລິດເບື້ອງຕົ້ນສໍາລັບໂຄງການເລຂາຄະນິດ
"-po" "Vertices="N
ກໍານົດຈໍານວນຂອງຜົນຜະລິດຕັ້ງໂດຍໂຄງການເລຂາຄະນິດ
gp5tcp
ເປົ້າຫມາຍ NV_tessellation_program ແລະ NV_gpu_program5 ສ່ວນຂະຫຍາຍ OpenGL.
gp5tep
ເປົ້າຫມາຍ NV_tessellation_program ແລະ NV_gpu_program5 ສ່ວນຂະຫຍາຍ OpenGL.
gp5vp
ເປົ້າຫມາຍ NV_gpu_program5 ສ່ວນຂະຫຍາຍ OpenGL.
"-po" "PosInv"
ສ້າງລະຫັດ invariant ຕໍາແໜ່ງ (ຄືກັນກັບການທໍາງານຄົງທີ່) ສໍາລັບຜົນໄດ້ຮັບ POSITION
hlslf hlslv
ເປົ້າໝາຍ Microsoft High-Level Shading Language (HLSL). hlslf ເປົ້າຫມາຍໂຄງການ pixels
ໃນຂະນະທີ່ hlslv ເປົ້າຫມາຍໂຄງການ vertex
ps_1_1 ps_1_2 ps_1_3
ເປົ້າໝາຍໂຄງການ DirectX pixel
"-po" "MaxPixelShaderValue="N
ຄ່າສູງສຸດສູງສຸດທີ່ເປັນຕົວແທນໃນ pixel shader. ຄ່າເລີ່ມຕົ້ນແມ່ນ 1.
ps_2_0 ps_2_x
ເປົ້າໝາຍໂຄງການ DirectX pixel
"-po" "MaxDrawBuffers="N
ກໍານົດຈໍານວນສູງສຸດຂອງເປົ້າຫມາຍ renderbuffer. ຄ່າເລີ່ມຕົ້ນແມ່ນ 1
"-po" "NumInstructionSlots="N
ກໍານົດຈໍານວນຄໍາແນະນໍາສູງສຸດໃນໂຄງການຜົນຜະລິດ. ຄ່າເລີ່ມຕົ້ນແມ່ນ 96 ຫຼື
512
"-po" "NumTemps="N
ກໍານົດຈໍານວນສູງສຸດຂອງຊົ່ວຄາວໃນໂຄງການຜົນຜະລິດ. ຄ່າເລີ່ມຕົ້ນແມ່ນ 12 ຫຼື 32
ps_3_0
ເປົ້າໝາຍໂຄງການ DirectX pixel
"-po" "MaxDrawBuffers="N
ກໍານົດຈໍານວນສູງສຸດຂອງເປົ້າຫມາຍ renderbuffer. ຄ່າເລີ່ມຕົ້ນແມ່ນ 1
"-po" "MaxLocalParams="N
ກໍານົດຈໍານວນສູງສຸດຂອງຊ່ອງພາລາມິເຕີເອກະພາບທີ່ມີຢູ່. ຄ່າເລີ່ມຕົ້ນແມ່ນ 224
"-po" "NumInstructionSlots="N
ກໍານົດຈໍານວນຄໍາແນະນໍາສູງສຸດໃນໂຄງການຜົນຜະລິດ. ຄ່າເລີ່ມຕົ້ນແມ່ນ 32768
"-po" "NumTemps="N
ກໍານົດຈໍານວນສູງສຸດຂອງຊົ່ວຄາວໃນໂຄງການຜົນຜະລິດ. ຄ່າເລີ່ມຕົ້ນແມ່ນ 32
"-po" "OutColorPrec="N
If N ແມ່ນ 3 ຫຼື 4, ບັງຄັບໃຫ້ຜົນຜະລິດເປັນ fp16 ຄວາມແມ່ນຍໍາ. ຖ້າ N ແມ່ນ 2, ບັງຄັບໃຫ້ຜົນຜະລິດເປັນ fp32
ຄວາມແມ່ນຍໍາ.
vp20
ເປົ້າຫມາຍ NV_vertex_program ສ່ວນຂະຫຍາຍ OpenGL
"-po" "MaxLocalParams="N
ກໍານົດຈໍານວນສູງສຸດຂອງຊ່ອງພາລາມິເຕີເອກະພາບທີ່ມີຢູ່. ຄ່າເລີ່ມຕົ້ນແມ່ນ 96
"-po" "PosInv"
ສ້າງລະຫັດ invariant ຕໍາແໜ່ງ (ຄືກັນກັບການທໍາງານຄົງທີ່) ສໍາລັບຜົນໄດ້ຮັບ POSITION
vp30
ເປົ້າຫມາຍ NV_vertex_program2 ສ່ວນຂະຫຍາຍ OpenGL
"-po" "MaxLocalParams="N
ກໍານົດຈໍານວນສູງສຸດຂອງຊ່ອງພາລາມິເຕີເອກະພາບທີ່ມີຢູ່. ຄ່າເລີ່ມຕົ້ນແມ່ນ 256
"-po" "PosInv"
ສ້າງລະຫັດ invariant ຕໍາແໜ່ງ (ຄືກັນກັບການທໍາງານຄົງທີ່) ສໍາລັບຜົນໄດ້ຮັບ POSITION
vp40
ເປົ້າຫມາຍ NV_vertex_program3 ສ່ວນຂະຫຍາຍ OpenGL
"-po" "MaxAddressRegs="N
ກໍານົດຈໍານວນສູງສຸດຂອງການລົງທະບຽນ ADDRESS ໃນໂຄງການຜົນຜະລິດ. ຄ່າເລີ່ມຕົ້ນແມ່ນ 2
"-po" "MaxInstructions="N
ກໍານົດຈໍານວນຄໍາແນະນໍາສູງສຸດໃນໂຄງການຜົນຜະລິດ. ຄ່າເລີ່ມຕົ້ນແມ່ນ 2048
"-po" "MaxLocalParams="N
ກໍານົດຈໍານວນສູງສຸດຂອງຊ່ອງພາລາມິເຕີເອກະພາບທີ່ມີຢູ່. ຄ່າເລີ່ມຕົ້ນແມ່ນ 544
"-po" "NumTemps="N
ກໍານົດຈໍານວນສູງສຸດຂອງການລົງທະບຽນ TEMP ໃນໂຄງການຜົນຜະລິດ. ຄ່າເລີ່ມຕົ້ນແມ່ນ 32
"-po" "PosInv"
ສ້າງລະຫັດ invariant ຕໍາແໜ່ງ (ຄືກັນກັບການທໍາງານຄົງທີ່) ສໍາລັບຜົນໄດ້ຮັບ POSITION
ທຽບກັບ_1_1
ເປົ້າໝາຍໂຄງການ DirectX vertex
"-po" "dcls"
ອອກຄຳຖະແຫຼງການ dcls ແບບ dx9
"-po" "MaxLocalParams="N
ກໍານົດຈໍານວນສູງສຸດຂອງຊ່ອງພາລາມິເຕີເອກະພາບທີ່ມີຢູ່. ຄ່າເລີ່ມຕົ້ນແມ່ນ 96
"-po" "NumInstructionSlots="N
ກໍານົດຈໍານວນຄໍາແນະນໍາສູງສຸດໃນໂຄງການຜົນຜະລິດ. ຄ່າເລີ່ມຕົ້ນແມ່ນ 128
"-po" "NumTemps="N
ກໍານົດຈໍານວນສູງສຸດຂອງຊົ່ວຄາວໃນໂຄງການຜົນຜະລິດ. ຄ່າເລີ່ມຕົ້ນແມ່ນ 12
vs_2_0 vs_2_x
ເປົ້າໝາຍໂຄງການ DirectX vertex
"-po" "dcls"
ອອກຄຳຖະແຫຼງການ dcls ແບບ dx9
"-po" "MaxLocalParams="N
ກໍານົດຈໍານວນສູງສຸດຂອງຊ່ອງພາລາມິເຕີເອກະພາບທີ່ມີຢູ່. ຄ່າເລີ່ມຕົ້ນແມ່ນ 256
"-po" "NumInstructionSlots="N
ກໍານົດຈໍານວນຄໍາແນະນໍາສູງສຸດໃນໂຄງການຜົນຜະລິດ. ຄ່າເລີ່ມຕົ້ນແມ່ນ 256
"-po" "NumTemps="N
ກໍານົດຈໍານວນສູງສຸດຂອງຊົ່ວຄາວໃນໂຄງການຜົນຜະລິດ. ຄ່າເລີ່ມຕົ້ນແມ່ນ 12
ທຽບກັບ_3_0
ເປົ້າໝາຍໂຄງການ DirectX vertex
"-po" "dcls"
ອອກຄຳຖະແຫຼງການ dcls ແບບ dx9
"-po" "MaxLocalParams="N
ກໍານົດຈໍານວນສູງສຸດຂອງຊ່ອງພາລາມິເຕີເອກະພາບທີ່ມີຢູ່. ຄ່າເລີ່ມຕົ້ນແມ່ນ 256
"-po" "NumInstructionSlots="N
ກໍານົດຈໍານວນຄໍາແນະນໍາສູງສຸດໃນໂຄງການຜົນຜະລິດ. ຄ່າເລີ່ມຕົ້ນແມ່ນ 32768
"-po" "NumTemps="N
ກໍານົດຈໍານວນສູງສຸດຂອງຊົ່ວຄາວໃນໂຄງການຜົນຜະລິດ. ຄ່າເລີ່ມຕົ້ນແມ່ນ 32
ENVIRONMENT
ໃຊ້ cgc ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net