Heat the oven to 350°. Grease and flour 3 9-inch round layer cake pans.
In a large mixing bowl with electric mixer, cream 1/2 cup butter, shortening, and 2 cups granulated sugar until light. Beat in the egg yolks.
In another bowl, sift together the flour, salt, and baking soda. In a small bowl or cup, combine the buttermilk and vanilla.
Add the flour mixture to the creamed mixture, alternating with the buttermilk and vanilla mixture. Stir in the coconut and 1 cup of finely chopped pecans. Using a clean bowl and beaters, beat the egg whites until soft peaks form. Fold into the cake batter.
Divide the batter evenly among the 3 prepared layer cake pans and spread with a spatula.
Bake for about 25 minutes, until the cake springs back when lightly touched with a finger. A toothpick will come out clean when inserted into the ceneter of a cake.
Cool in pans on a rack for 10 minutes. Carefully remove the pans and Cool completely. Fill and frost with the cream cheese frosting, below.
While the cake is cooling, beat the cream cheese and 1/2 cup of butter until light. Beat in the vanilla. Slowly beat in the powdered sugar, a little at a time. Beat until fluffy. Stir in 1 cup chopped pecans.
Fill and stack the cake layers, then frost the top and sides.
Store leftover cake in the refrigerator.
Calories per serving: 704
Fat per serving: 38.6